private void handleNewGame(NewGame newGameDTO) { PropertyInitializer propInit = serverContext.getBean(PropertyInitializer.class); propInit.setKeySuffix(newGameDTO.getDifficulty().getLevel()); serverContext.getBean("dependentPropertyInitializer"); // Force initialisation IHumanPlayer player = startupGameEnvironment(newGameDTO); // todo: andi 18/01/14: notify the client so the GameStatus can be updated NewGameClient newGameClientDTO = NewGameClient.builder().player(player).build(); clientServerEventBus.post(new ResumeGame()); clientServerEventBus.post(newGameClientDTO); }
@Subscribe public void handleGameStateChange(GameStateChange stateChange) { if (stateChange.getStatusChange() == EGameStatusChange.GAME_INITIALISATION_COMPLETE) { logger.info("Load and replace the game"); gameOptions.load(lodableGames.getSelectedValue()); } if (stateChange.getStatusChange() == EGameStatusChange.GAME_LOADED) { uiFactory.invalidate(); final MainGameScene mainGameScene1 = uiFactory.getMainGameScene(getRoot().getWidth(), getRoot().getHeight()); mainGameScene1.initializeGameView(null); Platform.runLater(() -> changeScene(mainGameScene1) ); timerEventBus.post(new ResumeGame()); } }
private EventHandler<MouseEvent> getBackEvent() { return event -> { try { EGameSpeed gameSpeed = EGameSpeed.values()[speed.getSelectedIndex()]; EGameSpeed currentSpeed = game.getGameSpeed(); if (gameSpeed != currentSpeed) { game.setGameSpeed(gameSpeed); } MainGameScene mainGame = uiFactory.getMainGameScene(getRoot().getWidth(), getRoot().getHeight()); getSceneChangeable().changeScene(mainGame); soundPlayer.play(); newSaveGame.setText(""); timerEventBus.post(new ResumeGame()); } catch (RuntimeException e) { logger.error("Failed to go back to game", e); } }; }