private MenuState CreateMenuState(ScenarioController scenarioController) { var input = new MenuStateInput(scenarioController); var state = new MenuState(input); var settingsTransition = new EventTransition(SettingsState.StateName); input.SettingsClickedEvent += settingsTransition.ChangeState; // TODO uncomment the lines for the next state wanted when play is pressed // begin level select // var nextStateTransition = new EventTransition(LevelState.StateName); // end level select // begin straight to gema var nextStateTransition = new EventTransition(CallState.StateName); input.PlayClickedEvent += _scenarioController.NextLevel; // end straight to game input.PlayClickedEvent += nextStateTransition.ChangeState; state.AddTransitions(settingsTransition, nextStateTransition); return(state); }
/// <summary> /// This is where it all begins! /// </summary> /// <param name="photonPlugin"></param> /// <param name="messenger"></param> /// <param name="playerManager"></param> /// <returns></returns> public ITAlertRoomStateController Create(PluginBase photonPlugin, Messenger messenger, ITAlertPlayerManager playerManager, ExceptionHandler exceptionHandler) { var sugarAnalytics = new AnalyticsServiceAdapter(); var analytics = new AnalyticsServiceManager(sugarAnalytics); var roomSettings = new RoomSettings(photonPlugin); var exceptionTransition = new EventTransition(ErrorState.StateName); exceptionHandler.ExceptionEvent += e => exceptionTransition.ChangeState(); var lobbyState = new LobbyState(photonPlugin, messenger, playerManager, roomSettings, analytics); var gameStartedTransition = new EventTransition(GameState.StateName); lobbyState.GameStartedEvent += gameStartedTransition.ChangeState; lobbyState.AddTransitions(gameStartedTransition); var gameState = new GameState(photonPlugin, messenger, playerManager, roomSettings, analytics, exceptionHandler); gameState.AddTransitions(exceptionTransition); var errorState = new ErrorState(photonPlugin, messenger, playerManager, roomSettings, analytics, exceptionHandler); var controller = new ITAlertRoomStateController(lobbyState, gameState, errorState); gameState.ParentStateController = controller; return(controller); }
private SettingsState CreateSettingsState(ScenarioController scenarioController) { var input = new SettingsStateInput(scenarioController); var state = new SettingsState(input); var menuTransistion = new EventTransition(MenuState.StateName); input.BackClickedEvent += menuTransistion.ChangeState; state.AddTransitions(menuTransistion); return(state); }
private QuestionnaireState CreateQuestionnaireState(ScenarioController scenarioController) { var input = new QuestionnaireStateInput(scenarioController); var state = new QuestionnaireState(input, scenarioController); var menuTransition = new EventTransition(MenuState.StateName); input.FinishClickedEvent += menuTransition.ChangeState; state.AddTransitions(menuTransition); return(state); }
private ReviewState CreateReviewState(ScenarioController scenarioController) { var input = new ReviewStateInput(scenarioController); var state = new ReviewState(input, scenarioController); var scoreTransition = new EventTransition(ScoreState.StateName); input.NextClickedEvent += scoreTransition.ChangeState; state.AddTransitions(scoreTransition); return(state); }
private GameState CreateGameState(ScenarioController scenarioController, ModulesController modulesController) { var input = new GameStateInput(scenarioController); var state = new GameState(input, scenarioController, modulesController); var reviewTransition = new EventTransition(ReviewState.StateName); input.HandleFinalStateEvent += reviewTransition.ChangeState; state.AddTransitions(reviewTransition); return(state); }
private CallState CreateCallState() { var input = new CallStateInput(); var state = new CallState(input); var gameTransition = new EventTransition(GameState.StateName); input.AnswerClickedEvent += gameTransition.ChangeState; state.AddTransitions(gameTransition); return(state); }
private LoadingState CreateLoadingState(ScenarioController scenarioController) { var input = new LoadingStateInput(); var state = new LoadingState(input); var menuTransition = new EventTransition(MenuState.StateName); input.LoggedInEvent += scenarioController.Initialize; input.LoggedInEvent += menuTransition.ChangeState; state.AddTransitions(menuTransition); return(state); }
private LevelState CreateLevelState(ScenarioController scenarioController) { var input = new LevelStateInput(scenarioController); var state = new LevelState(input, scenarioController); var menuTransition = new EventTransition(MenuState.StateName); var callTransition = new EventTransition(CallState.StateName); input.BackClickedEvent += menuTransition.ChangeState; input.LoadLevelEvent += _scenarioController.NextLevel; input.LoadLevelEvent += callTransition.ChangeState; state.AddTransitions(callTransition, menuTransition); return(state); }
private ScoreState CreateScoreState(ScenarioController scenarioController) { var input = new ScoreStateInput(scenarioController); var state = new ScoreState(input, scenarioController); var menuTransition = new EventTransition(MenuState.StateName); input.NextEvent += menuTransition.ChangeState; var questionnaireTransition = new EventTransition(QuestionnaireState.StateName); input.InGameQuestionnaire += scenarioController.NextQuestionnaire; input.InGameQuestionnaire += questionnaireTransition.ChangeState; state.AddTransitions(menuTransition, questionnaireTransition); return(state); }