public void InitFsm() { ManagerFSM.AddAllStates(); ManagerFSM.AddEventConsequence(enumStates.ENTRY, enumEvents.OnShowIntro, enumStates.IntroLogo); ManagerFSM.AddEventConsequence(enumStates.IntroLogo, enumEvents.OnIntroEnd, enumStates.MainMenu); ManagerFSM.AddEventConsequence(enumStates.MainMenu, enumEvents.OnQuickGame, enumStates.GameIntro); ManagerFSM.AddEventConsequence(enumStates.GameIntro, enumEvents.OnNextWave, enumStates.Wave); ManagerFSM.AddEventConsequence(enumStates.Wave, enumEvents.OnWaveEnd, enumStates.UpgradeMenu); ManagerFSM.AddEventConsequence(enumStates.UpgradeMenu, enumEvents.OnNextWave, enumStates.Wave); ManagerFSM.AddEventConsequence(enumStates.UpgradeMenu, enumEvents.OnPauseMenu, enumStates.Pause); ManagerFSM.AddEventConsequence(enumStates.Wave, enumEvents.OnPauseMenu, enumStates.Pause); ManagerFSM.AddEventConsequence(enumStates.Wave, enumEvents.OnGameFinish, enumStates.GameFinished); ManagerFSM.AddEventConsequence(enumStates.Wave, enumEvents.OnGameExit, enumStates.MainMenu); ManagerFSM.AddEventConsequence(enumStates.GameFinished, enumEvents.OnGameExit, enumStates.MainMenu); ManagerFSM.AddEventConsequence(enumStates.GameFinished, enumEvents.OnQuickGame, enumStates.GameIntro); ManagerFSM.AddEventConsequence(enumStates.Pause, enumEvents.OnQuickGame, enumStates.GameIntro); ManagerFSM.AddEventConsequence(enumStates.MainMenu, enumEvents.OnGameExit, enumStates.QUIT); ManagerFSM.AddOnEnterCall(enumStates.MainMenu, OnMainMenuEnter); ManagerFSM.AddOnExitCall(enumStates.MainMenu, OnMainMenuExit); ManagerFSM.AddOnEnterCall(enumStates.IntroLogo, OnIntroEnter); ManagerFSM.AddOnExitCall(enumStates.IntroLogo, OnIntroExit); ManagerFSM.AddOnEnterCall(enumStates.GameIntro, OnGameIntroEnter); ManagerFSM.AddOnExitCall(enumStates.GameIntro, OnGameIntroExit); ManagerFSM.AddOnEnterCall(enumStates.Wave, OnWaveEnter); ManagerFSM.AddOnExitCall(enumStates.Wave, OnWaveExit); ManagerFSM.AddOnEnterCall(enumStates.UpgradeMenu, OnUpgradeMenuEnter); ManagerFSM.AddOnExitCall(enumStates.UpgradeMenu, OnUpgradeMenuExit); ManagerFSM.AddOnEnterCall(enumStates.GameFinished, OnGameFinishEnter); ManagerFSM.AddOnExitCall(enumStates.GameFinished, OnGameFinishExit); ManagerFSM.ForceState(enumStates.ENTRY); ManagerFSM.InvokeEvent(enumEvents.OnShowIntro); }
IEnumerator WaitAndFinishWave() { yield return(new WaitForSeconds(1.0f)); ManagerFSM.InvokeEvent(enumEvents.OnWaveEnd); yield return(null); }
IEnumerator HideLogoPanelAfter(float seconds) { yield return(new WaitForSeconds(seconds)); Debug.Log("HIDE PANEL"); ManagerFSM.InvokeEvent(enumEvents.OnIntroEnd); yield return(null); }
IEnumerator WaitAndFinishGame() { GameController.instance.wonGame(); yield return(new WaitForSeconds(1.0f)); ManagerFSM.InvokeEvent(enumEvents.OnGameFinish); yield return(null); }
public void EnemyReachedHeart() { livesLeft--; GuiManager.instance.UpdateLivesText(livesLeft); if (livesLeft <= 0) { wonQuickGame = false; ManagerFSM.InvokeEvent(enumEvents.OnGameFinish); } }
void OnGameIntroEnter() { livesLeft = startingLives; wonQuickGame = false; foreach (AirConsolePlayer _player in AirConsolePlayerKeeper.instance.GetAllActivePlayers()) { InstantiateBowmanForPlayer(_player); } ManagerFSM.InvokeEvent(enumEvents.OnNextWave); }
void HandleJoystickChange(AirConsolePlayer player, bool pressed, Vector2 pos) { if (ManagerFSM.InState(enumStates.MainMenu) || ManagerFSM.InState(enumStates.UpgradeMenu) || ManagerFSM.InState(enumStates.GameFinished)) { GuiManager.instance.HandleJoystickChange(player, pressed, pos); } else if (ManagerFSM.InState(enumStates.Wave)) { Debug.Log("SENDING CHANGE TO GAME CONTROLLER"); GameController.instance.HandleJoystickChange(player, pressed, pos); } }
void HandleButtonA(AirConsolePlayer player) { Debug.Log("BUTTON A"); if (ManagerFSM.InState(enumStates.MainMenu) || ManagerFSM.InState(enumStates.UpgradeMenu) || ManagerFSM.InState(enumStates.GameFinished)) { GuiManager.instance.HandleAButton(); } else if (ManagerFSM.InState(enumStates.Wave)) { Debug.Log("SENDING CHANGE TO GAME CONTROLLER"); GameController.instance.HandleButtonA(player); } // GameController.instance.HandleButtonA(player); }
public void ContinueFromUpgrade() { ManagerFSM.InvokeEvent(enumEvents.OnNextWave); CastleController.instance.UpgradeGate(); }
public void RestartQuickGame() { ManagerFSM.InvokeEvent(enumEvents.OnQuickGame); }
public void GoToMainMenu() { ManagerFSM.InvokeEvent(enumEvents.OnGameExit); }
public void StartGameMenuItem() { ManagerFSM.InvokeEvent(enumEvents.OnQuickGame); }