49 lines
1.5 KiB
Java
49 lines
1.5 KiB
Java
package client;
|
|
|
|
import client.scenes.FoodpalApplicationCtrl;
|
|
import client.scenes.MainCtrl;
|
|
import client.scenes.ServerConnectionDialogCtrl;
|
|
import client.utils.server.ServerUtils;
|
|
import com.google.inject.Injector;
|
|
import javafx.application.Application;
|
|
import javafx.scene.image.Image;
|
|
import javafx.stage.Stage;
|
|
|
|
|
|
import static com.google.inject.Guice.createInjector;
|
|
|
|
public class UI extends Application {
|
|
private static final Injector INJECTOR = createInjector(new MyModule());
|
|
private static final MyFXML FXML = new MyFXML(INJECTOR);
|
|
|
|
@Override
|
|
public void start(Stage primaryStage) throws Exception {
|
|
|
|
primaryStage.getIcons().add(
|
|
new Image(getClass().getResourceAsStream("/Penguin.png"))
|
|
);
|
|
|
|
|
|
|
|
|
|
var serverUtils = INJECTOR.getInstance(ServerUtils.class);
|
|
if (!serverUtils.isServerAvailable()) {
|
|
var connectionHandler = INJECTOR.getInstance(ServerConnectionDialogCtrl.class);
|
|
boolean serverConnected = connectionHandler.promptForURL();
|
|
|
|
if(!serverConnected){
|
|
var msg = "User Cancelled Server connection. Shutting down";
|
|
System.err.print(msg);
|
|
return;
|
|
}
|
|
}
|
|
var foodpal = FXML.load(FoodpalApplicationCtrl.class, "client", "scenes", "FoodpalApplication.fxml");
|
|
|
|
var mainCtrl = INJECTOR.getInstance(MainCtrl.class);
|
|
mainCtrl.setup(primaryStage, foodpal);
|
|
}
|
|
|
|
public static MyFXML getFXML() {
|
|
return FXML;
|
|
}
|
|
}
|