示例#1
0
    public void LoadingScene()
    {
        if (m_cSceneCtrl != null)
        {
            m_cSceneCtrl.SceneRelease();
            m_cSceneCtrl = null;
        }

        switch (m_NextScene)
        {
        case SCENE.MAIN:
            StartCoroutine(coLoadScene("Main"));
            break;

        case SCENE.SELECT:
            StartCoroutine(coLoadScene("Select"));
            break;

        case SCENE.BATTLE1:
            m_cSceneCtrl = new BattleSceneCtrl();
            m_cSceneCtrl.SceneInit(m_BOSSScene);
            StartCoroutine(coLoadScene("Battle"));
            break;
        }
    }
示例#2
0
    private IEnumerator coLoadScene(string sceneName)
    {
        m_cAsyncOP = SceneManager.LoadSceneAsync(sceneName);
        m_cAsyncOP.allowSceneActivation = false;

        while (!m_cAsyncOP.isDone)
        {
            m_cLoadSlide.fillAmount = m_cAsyncOP.progress;

            if (m_cAsyncOP.progress >= 0.9f)
            {
                m_currentScene = m_NextScene;

                m_cAsyncOP.allowSceneActivation = true;

                if (m_cSceneCtrl != null)
                {
                    m_cSceneCtrl.SceneInit();
                }
            }
            // m_cAsyncOP.allowSceneActivation = true;
            yield return(null);
        }
    }