Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
0
    IEnumerator WaitAndFinishWave()
    {
        yield return(new WaitForSeconds(1.0f));

        ManagerFSM.InvokeEvent(enumEvents.OnWaveEnd);
        yield return(null);
    }
Exemplo n.º 3
0
    IEnumerator HideLogoPanelAfter(float seconds)
    {
        yield return(new WaitForSeconds(seconds));

        Debug.Log("HIDE PANEL");
        ManagerFSM.InvokeEvent(enumEvents.OnIntroEnd);
        yield return(null);
    }
Exemplo n.º 4
0
    IEnumerator WaitAndFinishGame()
    {
        GameController.instance.wonGame();
        yield return(new WaitForSeconds(1.0f));

        ManagerFSM.InvokeEvent(enumEvents.OnGameFinish);
        yield return(null);
    }
Exemplo n.º 5
0
 public void EnemyReachedHeart()
 {
     livesLeft--;
     GuiManager.instance.UpdateLivesText(livesLeft);
     if (livesLeft <= 0)
     {
         wonQuickGame = false;
         ManagerFSM.InvokeEvent(enumEvents.OnGameFinish);
     }
 }
Exemplo n.º 6
0
 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);
    }
Exemplo n.º 9
0
 public void ContinueFromUpgrade()
 {
     ManagerFSM.InvokeEvent(enumEvents.OnNextWave);
     CastleController.instance.UpgradeGate();
 }
 public void RestartQuickGame()
 {
     ManagerFSM.InvokeEvent(enumEvents.OnQuickGame);
 }
 public void GoToMainMenu()
 {
     ManagerFSM.InvokeEvent(enumEvents.OnGameExit);
 }
Exemplo n.º 12
0
 public void StartGameMenuItem()
 {
     ManagerFSM.InvokeEvent(enumEvents.OnQuickGame);
 }