Ejemplo n.º 1
0
    public IEnumerator Transition(string newSceneName, BirthPointType birthPoint)
    {
        var options = SceneManager.LoadSceneAsync(newSceneName);

        options.allowSceneActivation = false;
        while (!options.isDone)
        {
            if (options.progress >= 0.9f)
            {
                options.allowSceneActivation = true;
            }

            if (!m_IsTransitioning)
            {
                m_IsTransitioning = true;
                yield return(Instance.StartCoroutine(SceneFader.FadeSceneIn(SceneFader.FadeType.Loading)));
            }
            else
            {
                yield return(null);
            }
        }

        Player.Instance.Redirect(birthPoint);

        yield return(StartCoroutine(SceneFader.FadeSceneOut()));

        m_IsTransitioning = false;
    }
Ejemplo n.º 2
0
    public void Redirect(BirthPointType birthPoint)
    {
        var arrs = FindObjectsOfType <BirthPoint>();

        foreach (var obj in arrs)
        {
            if (obj.birthPoint == birthPoint)
            {
                var targetPosition = obj.gameObject.transform.position;
                gameObject.transform.position = targetPosition;
                m_PrevPosition = targetPosition;
                m_NextPosition = targetPosition;
                SetFace(obj.faceType);

                break;
            }
        }
    }