void Update() { if (GameManager.levelState == LevelState.Executing) { BubbleMotionTasks.Update(); } }
private void Update() { if (phases.IsFinished) { OnKilled(); return; } phases.Update(); }
private IEnumerator LoadLevel(int index, LoadLevelType Type, GameObject LevelButton = null) { switch (Type) { case LoadLevelType.FromMainMenu: SetMainMenuEnable(false); ParallelTasks MainMenuDisappearTask = GetMainMenuDisappearTask(PlayButton); while (!MainMenuDisappearTask.IsFinished) { MainMenuDisappearTask.Update(); yield return(null); } break; case LoadLevelType.FromSelectionMenu: BackButton.GetComponent <BoxCollider2D>().enabled = false; SetSelectLevelEnable(false); ParallelTasks LevelButtonDisappearTasks = new ParallelTasks(); foreach (Transform child in AllLevelButtons.transform) { if (child.gameObject == LevelButton) { LevelButtonDisappearTasks.Add(child.GetComponent <GameButton>().GetSelectedDisappearTask()); } else { LevelButtonDisappearTasks.Add(child.GetComponent <GameButton>().GetUnselectedDisappearTask()); } } foreach (Transform child in LevelSelectionArrows.transform) { LevelButtonDisappearTasks.Add(child.GetComponent <GameButton>().GetUnselectedDisappearTask()); } LevelButtonDisappearTasks.Add(BackButton.GetComponent <GameButton>().GetUnselectedDisappearTask()); while (!LevelButtonDisappearTasks.IsFinished) { LevelButtonDisappearTasks.Update(); yield return(null); } break; case LoadLevelType.LevelFinish: BackButton.GetComponent <BoxCollider2D>().enabled = false; levelState = LevelState.Clear; SerialTasks LevelEndTasks = new SerialTasks(); LevelEndTasks.Add(GetLevelEndUITask(false)); LevelEndTasks.Add(new WaitTask(PerformLevelFinishEffectWaitTime)); LevelEndTasks.Add(GetBubblePowerUpTasks()); LevelEndTasks.Add(GetShockWaveEmitAndFadeTasks()); LevelEndTasks.Add(GetBubbleMoveOutPrepareTasks()); while (!LevelEndTasks.IsFinished) { LevelEndTasks.Update(); yield return(null); } LevelEndTasks.Clear(); LevelEndTasks.Add(GetBubbleEscapeTasks()); LevelEndTasks.Add(new WaitTask(StartNewLevelWaitTime)); while (!LevelEndTasks.IsFinished) { LevelEndTasks.Update(); yield return(null); } ClearUseableBubbles(); break; } if (index <= MaxLevelIndex) { levelState = LevelState.SetUp; if (CurrentSaveInfo.CurrentLevel >= MinLevelIndex && Type == LoadLevelType.LevelFinish) { SortedLevelList[CurrentSaveInfo.CurrentLevel - MinLevelIndex].SetActive(false); Destroy(SortedLevelList[CurrentSaveInfo.CurrentLevel - MinLevelIndex]); SortedLevelList[CurrentSaveInfo.CurrentLevel - MinLevelIndex] = CopiedLevel; } CopiedLevel = Instantiate(SortedLevelList[index - MinLevelIndex]); CopiedLevel.transform.parent = AllLevel.transform; CopiedLevel.SetActive(false); SortedLevelList[index - MinLevelIndex].SetActive(true); ActivatedLevel = SortedLevelList[index - MinLevelIndex]; if (Type == LoadLevelType.LevelFinish) { CurrentSaveInfo.LevelFinished[CurrentSaveInfo.CurrentLevel - 1] = true; } CurrentSaveInfo.CurrentLevel = index; SaveProgress(); EventManager.instance.Fire(new LevelLoaded(CurrentSaveInfo.CurrentLevel)); SerialTasks LevelStartUITasks = GetLevelStartTask(); while (!LevelStartUITasks.IsFinished) { LevelStartUITasks.Update(); yield return(null); } levelState = LevelState.Play; EventManager.instance.Fire(new FinishLoadLevel(CurrentSaveInfo.CurrentLevel)); ParallelTasks BackButtonAppearTask = BackButton.GetComponent <GameButton>().GetAppearTask(); while (!BackButtonAppearTask.IsFinished) { BackButtonAppearTask.Update(); yield return(null); } BackButton.GetComponent <BoxCollider2D>().enabled = true; } }