public GetGamesState(GameInitializationInfo baseInfo) : base( StateTransitionType.Triggered, baseInfo) { Transitions = new Transition[] { new GetGamesTransition(baseInfo) }; }
public MatchingGameState(GameInitializationInfo baseInfo) : base( StateTransitionType.Triggered, baseInfo) { Transitions = new Transition[] { new MatchingGameTransition(baseInfo), new NoMatchingGameTransition(baseInfo) }; }
public AwaitingJoinResponseState(GameInitializationInfo baseInfo) : base( StateTransitionType.Triggered, baseInfo) { Transitions = new Transition[] { new JoinSuccessfulTransition(baseInfo), new JoinUnsuccessfulTransition(baseInfo) }; }
public GameStartedState(GameInitializationInfo baseInfo) : base( StateTransitionType.Triggered, baseInfo) { baseInfo.IsGameRunning = true; Transitions = new Transition[] { new GameStartedTransition(baseInfo), new GameEndedTransition(baseInfo) }; }
public GameStartedTransition(GameInitializationInfo gameInitializationInfo) : base(gameInitializationInfo) { }
public GetGamesTransition(GameInitializationInfo gameInitializationInfo) : base(gameInitializationInfo) { }
public JoinSuccessfulTransition(GameInitializationInfo gameInitializationInfo) : base(gameInitializationInfo) { }
public NoMatchingGameTransition(GameInitializationInfo gameInitializationInfo) : base(gameInitializationInfo) { }
public StateCoordinator(string gameName, TeamColor preferredTeam, PlayerType preferredRole) { _gameInitializationInfo = new GameInitializationInfo(gameName, preferredTeam, preferredRole); CurrentState = new GetGamesState(_gameInitializationInfo); }