Пример #1
0
    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);
    }
Пример #2
0
 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();
 }
Пример #3
0
    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));
    }