Esempio n. 1
0
    IEnumerator LoadSceneCorou(Define.SceneInfo lv)
    {
        currSceneNum = lv;

        while (true)
        {
            Vector3 pos = fader.transform.localPosition;
            pos.x -= fadeSpeed * Time.deltaTime;
            fader.transform.localPosition = pos;

            if (pos.x <= 0)
            {
                pos.x = 0;
                fader.transform.localPosition = pos;
                break;
            }

            yield return(null);
        }

        AsyncOperation async = SceneManager.LoadSceneAsync((int)lv);

        async.allowSceneActivation = false;

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

            yield return(null);
        }

        while (true)
        {
            Vector3 pos = fader.transform.localPosition;
            pos.x -= fadeSpeed * Time.deltaTime;

            fader.transform.localPosition = pos;

            if (pos.x <= -2083)
            {
                pos.x = 2083;
                fader.transform.localPosition = pos;
                break;
            }

            yield return(null);
        }

        sceneLoad = false;
    }
Esempio n. 2
0
    public void LoadScene(Define.SceneInfo level)
    {
        if (sceneLoad)
        {
            return;
        }

        //fader = f == null ? null : f;
        sceneLoad    = true;
        prevSceneNum = currSceneNum;
        StartCoroutine(LoadSceneCorou(level));
    }