예제 #1
0
        //注意这里返回值一定是 IEnumerator
        IEnumerator loadScene()
        {
            int displayProgress = 0;
            int toProgress      = 0;

            int randPro = UnityEngine.Random.Range(40, 70);

            while (!_realLoad)
            {
                while (displayProgress < randPro)    //预加载
                {
                    ++displayProgress;
                    SetProgressBar(displayProgress);
                    yield return(_wait);
                }
                yield return(_wait);
            }

            CoreEntry.gSceneMgr.InitPools(MapMgr.Instance.GetCurSceneID());
            if (ModuleServer.MS.GSkillCastMgr != null)
            {
                ModuleServer.MS.GSkillCastMgr.Disable();
            }

            while (_sceneStep < 0.90f)
            {
                toProgress = (int)(_sceneStep * 100);
                while (displayProgress < toProgress)
                {
                    ++displayProgress;
                    SetProgressBar(displayProgress);
                    yield return(_wait);
                }
                yield return(_wait);
            }

            MainPanelMgr.ClearTexture2D();
            yield return(StartCoroutine(MainPanelMgr.LoadStreamTexture(ClientSetting.Instance.GetStringValue(string.Format("Bg_loading{0}", UnityEngine.Random.Range(0, 4))), "Bg_loading")));

            toProgress = 100;
            while (displayProgress < toProgress)
            {
                ++displayProgress;
                SetProgressBar(displayProgress);
                yield return(_wait);
            }

            if (null != _sceneOperat)
            {
                _sceneOperat.allowSceneActivation = true;
            }

            CoreEntry.gEventMgr.TriggerEvent(GameEvent.GE_LOADSCENE_FINISH, EventParameter.Get(1));
            SDKMgr.Instance.addBatchDataEvent(1, SG.Account.Instance.ServerId, "10230", " 加载场景完成" + strNextLevel);

            loadsceneFinished();
        }
예제 #2
0
파일: LoginOut.cs 프로젝트: midgithub/notes
    IEnumerator InitProcess()
    {
        WaitForEndOfFrame wait = new WaitForEndOfFrame();

        InitUI.SetLoadTip("游戏资源加载中......");
        float lastPercent     = Random.Range(0.5f, 0.7f);
        float displayProgress = 0f;

        CoreEntry.gSceneMgr.PreloadScene("Scene/allMap/ui/RoleUI");
        while (CoreEntry.gSceneMgr.SceneLoading)
        {
            while (displayProgress < lastPercent)    //预加载
            {
                displayProgress += 0.1f;
                InitUI.SetProgress(displayProgress);
                yield return(wait);
            }
            yield return(wait);
        }

        lastPercent = 0.99f;
        CoreEntry.gSceneMgr.PreloadScene("Scene/allMap/ui/LoginUI");
        while (CoreEntry.gSceneMgr.SceneLoading)
        {
            while (displayProgress < lastPercent)    //预加载
            {
                displayProgress += 0.2f;
                InitUI.SetProgress(displayProgress);
                yield return(wait);
            }
            yield return(wait);
        }

        InitUI.SetProgress(1);

        yield return(StartCoroutine(MainPanelMgr.LoadStreamTexture(ClientSetting.Instance.GetStringValue("BackLogin"), string.Empty)));

        yield return(StartCoroutine(MainPanelMgr.LoadStreamTexture(ClientSetting.Instance.GetStringValue("LoginLogo2"), string.Empty)));

        yield return(StartCoroutine(MainPanelMgr.LoadStreamTexture(ClientSetting.Instance.GetStringValue(string.Format("Bg_loading{0}", UnityEngine.Random.Range(0, 4))), "Bg_loading")));

        MapMgr.Instance.EnterLoginScene();
    }
예제 #3
0
파일: InitGame.cs 프로젝트: midgithub/notes
    IEnumerator InitProcess()
    {
        WaitForEndOfFrame wait          = new WaitForEndOfFrame();
        float             gap           = 0.05f;
        float             time          = 0.0f;
        float             lastTime      = Time.realtimeSinceStartup;
        float             configPercent = Random.Range(0.8f, 0.9f);

        if (AppConst.UseAssetBundle)
        {
            configPercent = Random.Range(0.3f, 0.5f);
        }

        while (!m_LuaInitCall())
        {
            time += Time.realtimeSinceStartup - lastTime;
            if (time > gap)
            {
                lastTime = Time.realtimeSinceStartup;
                time     = 0;
                InitUI.SetProgress(m_LuaGetInitProCall() * configPercent);
                yield return(wait);
            }
        }
        m_LuaInitCall       = null;
        m_LuaGetInitProCall = null;
        yield return(wait);

        InitUI.SetLoadTip("游戏资源加载中......");
        float lastPercent     = configPercent + (1 - configPercent) * 0.5f;
        float displayProgress = configPercent;

        CoreEntry.gSceneMgr.PreloadScene("Scene/allMap/ui/RoleUI");
        while (CoreEntry.gSceneMgr.SceneLoading)
        {
            while (displayProgress < lastPercent)    //预加载
            {
                displayProgress += 0.005f;
                InitUI.SetProgress(displayProgress);
                yield return(wait);
            }
            yield return(wait);
        }

        lastPercent = 0.99f;
        CoreEntry.gSceneMgr.PreloadScene("Scene/allMap/ui/LoginUI");
        while (CoreEntry.gSceneMgr.SceneLoading)
        {
            while (displayProgress < lastPercent)    //预加载
            {
                displayProgress += 0.01f;
                InitUI.SetProgress(displayProgress);
                yield return(wait);
            }
            yield return(wait);
        }

        InitEnd();
        InitUI.SetProgress(1);

        yield return(StartCoroutine(MainPanelMgr.LoadStreamTexture(ClientSetting.Instance.GetStringValue("BackLogin"), string.Empty)));

        yield return(StartCoroutine(MainPanelMgr.LoadStreamTexture(ClientSetting.Instance.GetStringValue("LoginLogo2"), string.Empty)));

        yield return(StartCoroutine(MainPanelMgr.LoadStreamTexture(ClientSetting.Instance.GetStringValue(string.Format("Bg_loading{0}", UnityEngine.Random.Range(0, 4))), "Bg_loading")));

        MapMgr.Instance.EnterLoginScene();
    }