/// <summary>
    /// В зависимости от состояния анимации, запускается определённое поведение.
    /// </summary>
    public void Run()
    {
        switch (currentNameAnimation)
        {
        case NameAnimation.TurnOffPause:
            VictoryBoard.SetActive(false);
            StartCoroutine(HideSpriteRendererObject(Vault.instance.spriteRendererMainMenuBackground));
            PauseButtonController.instance.ClickOnPause();
            break;

        case NameAnimation.ResetLevel:
            VictoryBoard.SetActive(false);
            StartCoroutine(HideSpriteRendererObject(Vault.instance.spriteRendererMainMenuBackground));
            PauseButtonController.instance.ClickOnPause();
            HippoReset.Run();

            StartCoroutine(EnemyStartLocation.instance.ResetLocation(LevelNumberButton.currentNumberLevel - 1));
            break;

        case NameAnimation.ShowItemsMenu:
            Vault.instance.gameObjectMainMenuVaultButton.SetActive(false);
            Vault.instance.gameObjectItemsMenu.SetActive(true);
            Vault.instance.buttonUIBackButton.transform.parent.gameObject.gameObject.SetActive(true);
            for (int i = 0; i < Vault.instance.imageItemsMenu.Length; i++)
            {
                StartCoroutine(ShowSpriteObject(Vault.instance.imageItemsMenu[i]));
            }
            break;

        case NameAnimation.ShowStartGameMenu:
            Vault.instance.gameObjectMainMenuVaultButton.SetActive(false);
            Vault.instance.gameObjectStartGameMenu.SetActive(true);
            Vault.instance.buttonUIBackButton.transform.parent.gameObject.gameObject.SetActive(true);
            for (int i = 0; i < Vault.instance.imageStartGameMenu.Length; i++)
            {
                StartCoroutine(ShowSpriteObject(Vault.instance.imageStartGameMenu[i]));
            }
            break;

        case NameAnimation.ShowSettingsMenu:
            Vault.instance.gameObjectMainMenuVaultButton.SetActive(false);
            Vault.instance.gameObjectSettingsMenu.SetActive(true);
            Vault.instance.buttonUIBackButton.transform.parent.gameObject.gameObject.SetActive(true);
            for (int i = 0; i < Vault.instance.imageSettingsMenu.Length; i++)
            {
                StartCoroutine(ShowSpriteObject(Vault.instance.imageSettingsMenu[i]));
            }
            break;

        case NameAnimation.ShowMainMenu:
            Vault.instance.gameObjectMainMenuVaultButton.SetActive(true);
            Vault.instance.gameObjectItemsMenu.SetActive(false);
            Vault.instance.gameObjectStartGameMenu.SetActive(false);
            Vault.instance.gameObjectSettingsMenu.SetActive(false);
            Vault.instance.buttonUIBackButton.transform.parent.gameObject.gameObject.SetActive(false);
            for (int i = 0; i < Vault.instance.imageMainMenuVaultButton.Length; i++)
            {
                StartCoroutine(ShowSpriteObject(Vault.instance.imageMainMenuVaultButton[i]));
            }
            break;

        case NameAnimation.ShowGameLevel:
            Vault.instance.gameObjectStartGameMenu.SetActive(false);
            Vault.instance.buttonUIBackButton.transform.parent.gameObject.gameObject.SetActive(false);
            Vault.instance.gameObjectMainMenuUI.SetActive(false);
            Vault.instance.gameObjectGround[LevelNumberButton.currentNumberLevel - 1].SetActive(true);
            HippoReset.Run();
            StartCoroutine(EnemyStartLocation.instance.ResetLocation(LevelNumberButton.currentNumberLevel - 1));
            StartCoroutine(HideSpriteRendererObject(Vault.instance.spriteRendererMainMenuBackground));

            Vault.instance.gameObjectGameLevelUI.SetActive(true);
            PauseButtonController.instance.ClickOnPause();
            VictoryBoard.SetActive(false);
            break;

        case NameAnimation.SelectLevel:
            Vault.instance.gameObjectStartGameMenu.SetActive(true);
            Vault.instance.buttonUIBackButton.transform.parent.gameObject.gameObject.SetActive(true);
            Vault.instance.gameObjectMainMenuUI.SetActive(true);
            //StartCoroutine(ShowSpriteRendererObject(Vault.instance.spriteRendererMainMenuBackground));
            for (int i = 0; i < Vault.instance.imageStartGameMenu.Length; i++)
            {
                StartCoroutine(ShowSpriteObject(Vault.instance.imageStartGameMenu[i]));
            }

            Vault.instance.gameObjectGameLevelUI.SetActive(false);
            Vault.instance.gameObjectGround[LevelNumberButton.currentNumberLevel - 1].SetActive(false);

            VictoryBoard.SetActive(false);

            break;
        }
        currentNameAnimation = NameAnimation.NoAnimation;
    }
Example #2
0
 public void StartAnimationName()
 {
     Application.Current.Dispatcher.Invoke(() => NameAnimation.Begin());
 }