IEnumerator OnLevelFailed() { if (LevelState != LevelState.Play) { yield break; } LevelState = LevelState.Failed; Debug.Log("Game Over."); StopEverything(); CoveredUI.Find(FailedUIName)?.ShowAsync(); var animator = CoveredUI.Find(FailedUIName)?.GetComponent <Animator>(); yield return(null); while (animator.GetCurrentAnimatorStateInfo(0).normalizedTime < 1) { yield return(null); } //yield return InputManager.Instance.Controller.Actions.Accept.WaitPerform(); while (!InputManager.Instance.Actions.Accept.WasPressedThisFrame() && !InputManager.Instance.GetTouch()) { yield return(null); } animator.SetTrigger("exit"); while (animator.GetCurrentAnimatorStateInfo(0).normalizedTime < 1) { yield return(null); } LevelLoader.Instance.LoadLevelDetach(gameObject.scene.path); }
public void Ready() { OnLevelReady?.Invoke(); this.SetTimeout(() => ActiveAtLoaded.ForEach(cpn => cpn.enabled = true), 0.5f); CoveredUI.Find("GameUI").ShowAsync(); ActiveAtLoaded.ForEach(cpn => cpn.enabled = true); LevelLoader.Instance.CompleteLoading(); }
void StopEverything() { CoveredUI.Find("GameUI")?.HideAsync(); CoveredUI.Find("TouchController")?.HideAsync(); CoveredUI.Find("Tips")?.HideAsync(); return; EntityManager.FindEntities <GameEntity>() .Where(entity => entity) .ForEach(entity => entity.SetActive(false)); }