/// <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; }
public void StartAnimationName() { Application.Current.Dispatcher.Invoke(() => NameAnimation.Begin()); }