public ScenarioController(ITAlertPhotonClient photonClient, CreateGameController createGameController) { _photonClient = photonClient; _scenarioLoader = new ScenarioLoader(); _createGameController = createGameController; _photonClient.JoinedRoomEvent += OnJoinedRoom; }
public InitializingState(Director director, InitializingStateInput input, ITAlertPhotonClient photonClient) : base(input) { _director = director; _photonClient = photonClient; _scenarioLoader = new ScenarioLoader(); }
public TickStateController Create(ITAlertPhotonClient photonClient) { var simulationSummary = new SimulationSummary.SimulationSummary(); // Loading var loadingState = new LoadingState(new LoadingStateInput()); loadingState.AddTransitions(new OnCompletedTransition(loadingState, LoginState.StateName)); // Login var loginState = new LoginState(); loginState.AddTransitions(new OnCompletedTransition(loginState, MenuState.StateName)); // Menu var menuState = new MenuState(photonClient); // Room var roomStateInput = new RoomStateInput(photonClient); var roomState = new RoomState(roomStateInput, photonClient, simulationSummary); // Test Simulation Summary var simulationSummaryStateInput = new SimulationSummaryStateInput(simulationSummary); var simulationSummaryState = new SimulationSummaryState(simulationSummaryStateInput, simulationSummary); // Add states to controller var stateController = new TickStateController(loadingState, loginState, menuState, roomState, simulationSummaryState); stateController.SetParent(ParentStateController); roomState.SetSubstateParentController(stateController); menuState.SetSubstateParentController(stateController); return stateController; }
private FeedbackState CreateFeedbackState(ITAlertPhotonClient photonClient) { var input = new FeedbackStateInput(photonClient, _director); var state = new FeedbackState(input, photonClient); var onLobbyStateSync = new OnMessageTransition( photonClient, ITAlertChannel.GameState, typeof(LobbyMessage), LobbyState.StateName); var onSendAndSimulationSummaryTransition = new OnEventTransition( SimulationSummaryState.StateName, () => _simulationSummary.HasData); var onSendAndNoSimulationSummaryTransition = new OnEventTransition( MenuState.StateName, () => !_simulationSummary.HasData); input.FeedbackSendClickedEvent += onSendAndSimulationSummaryTransition.ChangeState; input.FeedbackSendClickedEvent += onSendAndNoSimulationSummaryTransition.ChangeState; state.AddTransitions( onLobbyStateSync, onSendAndSimulationSummaryTransition, onSendAndNoSimulationSummaryTransition); return(state); }
public RoomState(RoomStateInput roomStateInput, ITAlertPhotonClient photonClient, SimulationSummary.SimulationSummary simulationSummary) : base(roomStateInput) { _director = roomStateInput.Director; _director.Exception += GameExceptionHandler.OnException; _photonClient = photonClient; _controllerFactory = new RoomStateControllerFactory(_director, photonClient, simulationSummary); }
public VoiceController( ITAlertPhotonClient photonClient, Director director, Func <bool> getActivated, Func <bool> getDeactivated) { _photonClient = photonClient; _director = director; _getActivated = getActivated; _getDeactivated = getDeactivated; }
private InitializingState CreateInitializingState(ITAlertPhotonClient photonClient) { var input = new InitializingStateInput(); var state = new InitializingState(_director, input, photonClient); var onPlayingStateSyncTransition = new OnMessageTransition(photonClient, ITAlertChannel.GameState, typeof(PlayingMessage), PlayingState.StateName); state.AddTransitions(onPlayingStateSyncTransition); return(state); }
public OnMessageTransition( ITAlertPhotonClient photonClient, ITAlertChannel channel, Type messageType, string toStateName, Func <bool> condition = null) { _photonClient = photonClient; _channel = channel; _requiredMessageType = messageType; _toStateName = toStateName; _condition = condition; }
private SettingsState CreateSettingsState(ITAlertPhotonClient photonClient) { var input = new SettingsStateInput(); var state = new SettingsState(input); var previousStateTransition = new OnEventTransition(PausedState.StateName); var onFeedbackStateSyncTransition = new OnMessageTransition(photonClient, ITAlertChannel.GameState, typeof(FeedbackMessage), FeedbackState.StateName); input.BackClickedEvent += previousStateTransition.ChangeState; state.AddTransitions(onFeedbackStateSyncTransition, previousStateTransition); return(state); }
private static CreateGameState CreateCreateGameState(ITAlertPhotonClient client, CreateGameController createGameController, ScenarioController scenarioController) { var input = new CreateGameStateInput(client, scenarioController); var state = new CreateGameState(input, createGameController); var joinedRoomTransition = new OnEventTransition(RoomState.StateName); var previousStateTransition = new OnEventTransition(ScenarioListState.StateName); input.JoinedRoomEvent += joinedRoomTransition.ChangeState; input.BackClickedEvent += previousStateTransition.ChangeState; state.AddTransitions(joinedRoomTransition, previousStateTransition); return(state); }
private LobbyState CreateLobbyState(ITAlertPhotonClient photonClient) { var lobbyController = new LobbyController(_photonClient); var lobbyStateInput = new LobbyStateInput(photonClient); var lobbyState = new LobbyState(lobbyStateInput, lobbyController, photonClient); var initializingTransition = new OnMessageTransition(photonClient, ITAlertChannel.GameState, typeof(InitializingMessage), InitializingState.StateName); var toMenuStateTransition = new OnEventTransition(MenuState.StateName); lobbyStateInput.LeaveLobbyClickedEvent += toMenuStateTransition.ChangeState; lobbyState.AddTransitions(initializingTransition, toMenuStateTransition); return(lobbyState); }
private ScenarioListState CreateScenarioListState(ITAlertPhotonClient client, ScenarioController scenarioController) { var input = new ScenarioListStateInput(client, scenarioController); var state = new ScenarioListState(input, scenarioController); var scenarioSelectedTransition = new OnEventTransition(CreateGameState.StateName); var quickMatchTransition = new OnEventTransition(RoomState.StateName); var previousStateTransition = new OnEventTransition(MainMenuState.StateName); scenarioController.ScenarioSelectedSuccessEvent += scenarioSelectedTransition.ChangeState; scenarioController.QuickMatchSuccessEvent += quickMatchTransition.ChangeState; input.BackClickedEvent += previousStateTransition.ChangeState; state.AddTransitions(scenarioSelectedTransition, previousStateTransition, quickMatchTransition); return(state); }
private GamesListState CreateGameListState(ITAlertPhotonClient client) { var gamesListController = new GamesListController(client); var joinGameController = new JoinGameController(_photonClient); var input = new GamesListStateInput(_photonClient, gamesListController); var state = new GamesListState(input, gamesListController, joinGameController); var joinedRoomTransition = new OnEventTransition(RoomState.StateName); var previousStateTransition = new OnEventTransition(MainMenuState.StateName); input.JoinGameSuccessEvent += joinedRoomTransition.ChangeState; input.BackClickedEvent += previousStateTransition.ChangeState; state.AddTransitions(joinedRoomTransition, previousStateTransition); return(state); }
private PausedState CreatePausedState(ITAlertPhotonClient photonClient) { var pausedStateInput = new PausedStateInput(_director); var pausedState = new PausedState(pausedStateInput); var onFeedbackStateSyncTransition = new OnMessageTransition(photonClient, ITAlertChannel.GameState, typeof(FeedbackMessage), FeedbackState.StateName); var toPlayingStateTransition = new OnEventTransition(PlayingState.StateName); var toSettingsStateTransition = new OnEventTransition(SettingsState.StateName); var quitTransition = new OnEventTransition(MenuState.StateName); pausedStateInput.ContinueClickedEvent += toPlayingStateTransition.ChangeState; pausedStateInput.SettingsClickedEvent += toSettingsStateTransition.ChangeState; pausedStateInput.QuitClickedEvent += quitTransition.ChangeState; pausedState.AddTransitions(onFeedbackStateSyncTransition, toPlayingStateTransition, toSettingsStateTransition, quitTransition); return(pausedState); }
protected override void OnEnter() { _photonClient?.Dispose(); _photonClient = new ITAlertPhotonClient(GamePlugin, GameVersion, new ITAlertMessageSerializationHandler()); _photonClient.ExceptionEvent += OnClientException; _photonClient.ConnectedEvent += OnConnected; PlayerCommands.PhotonClient = _photonClient; DebugCommands.PhotonClient = _photonClient; _stateController = _stateControllerFactory.Create(_photonClient); _stateController.Initialize(); if (!GameExceptionHandler.HasException) { _stateController.EnterState(LoadingState.StateName); _photonClient.Connect(); } }
private PlayingState CreatePlayingState(ITAlertPhotonClient photonClient) { var playingStateInput = new PlayingStateInput(_photonClient, _director); var playingState = new PlayingState(_director, playingStateInput, photonClient, _simulationSummary); var onFeedbackStateSyncTransition = new OnMessageTransition(photonClient, ITAlertChannel.GameState, typeof(FeedbackMessage), FeedbackState.StateName); var toFeedbackTransition = new OnEventTransition(FeedbackState.StateName); var toSimulationSummaryTransition = new OnEventTransition(SimulationSummaryState.StateName); var toMenuTransition = new OnEventTransition(MenuState.StateName); var toPauseTransition = new OnEventTransition(PausedState.StateName); playingStateInput.PauseClickedEvent += toPauseTransition.ChangeState; playingStateInput.EndGameContinueClickedEvent += toFeedbackTransition.ChangeState; playingStateInput.EndGameOnePlayerContinueClickedEvent += toSimulationSummaryTransition.ChangeState; playingStateInput.EndGameMaxOnePlayerContinueClickedEvent += toMenuTransition.ChangeState; playingState.AddTransitions(onFeedbackStateSyncTransition, toPauseTransition, toFeedbackTransition, toSimulationSummaryTransition, toMenuTransition); return(playingState); }
private MainMenuState CreateMainMenuState(ITAlertPhotonClient photonClient, ScenarioController scenarioController) { var input = new MenuStateInput(photonClient, scenarioController); var state = new MainMenuState(input); var joinGameTransition = new OnEventTransition(GamesListState.StateName); var createGameTransition = new OnEventTransition(ScenarioListState.StateName); var settingsTransition = new OnEventTransition(SettingsState.StateName); var joinGameSuccessTransition = new OnEventTransition(RoomState.StateName); var quitTransition = new QuitTransition(); input.JoinGameEvent += joinGameTransition.ChangeState; input.CreateGameClickedEvent += createGameTransition.ChangeState; input.SettingsClickedEvent += settingsTransition.ChangeState; input.JoinGameSuccessEvent += joinGameSuccessTransition.ChangeState; input.QuitClickedEvent += quitTransition.Quit; state.AddTransitions(joinGameTransition, createGameTransition, settingsTransition, joinGameSuccessTransition, quitTransition); return(state); }
public PopupController(ITAlertPhotonClient photonClient) { _popupPanel = GameObject.Find("PopupContainer").transform.GetChild(0).gameObject; _popupBehaviour = _popupPanel.GetComponent <PopupBehaviour>(); _photonClient = photonClient; }
public MenuState(ITAlertPhotonClient photonClient) { _controllerFactory = new MenuStateControllerFactory(photonClient); }
public PlayingStateInput(ITAlertPhotonClient photonClient, Director director) { _photonClient = photonClient; _director = director; }
public JoinGameController(ITAlertPhotonClient photonClient) { _photonClient = photonClient; }
public LobbyController(ITAlertPhotonClient photonClient) { _photonClient = photonClient; }
public LobbyState(LobbyStateInput input, LobbyController controller, ITAlertPhotonClient photonClient) : base(input) { _controller = controller; _photonClient = photonClient; }
public FeedbackState(FeedbackStateInput input, ITAlertPhotonClient photonClient) : base(input) { input.PlayerRankingsCompleteEvent += OnPlayerRankingsComplete; _photonClient = photonClient; }
public MenuStateInput(ITAlertPhotonClient photonClient, ScenarioController controller) { _photonClient = photonClient; _controller = controller; }
public PlayingState(Director director, PlayingStateInput input, ITAlertPhotonClient photonClient, SimulationSummary.SimulationSummary simulationSummary) : base(input) { _director = director; _photonClient = photonClient; _simulationSummary = simulationSummary; }
public ScenarioListStateInput(ITAlertPhotonClient photonClient, ScenarioController scenarioController) { _photonClient = photonClient; _scenarioController = scenarioController; }
public CreateGameController(ITAlertPhotonClient photonClient) { _photonClient = photonClient; }
public LobbyStateInput(ITAlertPhotonClient photonClient) { _photonClient = photonClient; _popupController = new PopupController(_photonClient); }
public FeedbackStateInput(ITAlertPhotonClient photonClient, Director director) { _photonClient = photonClient; _director = director; }