// +++ life cycle +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ private void OnEnable() { _nvpStateMachine = new NvpStateMachine_Builder() .AddGameState(NvpGameStatesEnum.Idle, new NvpGameState_IdleState()) .AddGameState(NvpGameStatesEnum.Title, new NvpGameState_TitleState(birdPrefab)) .AddGameState(NvpGameStatesEnum.CountDown, new NvpGameState_CountDownState()) .AddGameState(NvpGameStatesEnum.Play, new NvpGameState_PlayState()) .AddGameState(NvpGameStatesEnum.Score, new NvpGameState_ScoreState()) .AddGameState(NvpGameStatesEnum.GameOver, new NvpGameState_GameOverState()) .Build(); _nvpStateMachine.DoStateTransition(NvpGameStatesEnum.Title); NvpEventBus.Events(GameEvents.OnPlayerScores).GameEventHandler += OnPlayerScores; NvpEventBus.Events(GameEvents.OnPlayerHitsPipe).GameEventHandler += OnPlayerHitsPipe; NvpEventBus.Events(GameEvents.OnGameOverFinished).GameEventHandler += OnGameOverFinished; }
public NvpStateMachine_Builder() { _nvpStateMachine = new NvpStateMachine(); _nvpStateMachine.gameStates = new Dictionary <NvpGameStatesEnum, INvpGameState>(); }