IEnumerator LoadWarSupportPlayerViewScene_Impl(System.Action <SceneResInfoManager> callBack)
    {
        if (AssetBundleManager.isCanLoadLevel(WarSupportPlayerViewSceneName))
        {
            if (SceneResInfoManager.CurrentActiveInstance)
            {
                backOldSupportSceneName = SceneResInfoManager.CurrentActiveInstance.sceneName;
            }

            AssetBundleManager.LoadLevelAdditive(WarSupportPlayerViewSceneName);

            DeActiveScene(backOldSupportSceneName);

            /*为什么要两帧??因为一个是本帧,另一个才是下一帧..*/
            yield return(new WaitForEndOfFrame());

            yield return(new WaitForFixedUpdate());



            SceneResInfoManager manager = SceneResInfoManager.API_GetSceneResManager(WarSupportPlayerViewSceneName);
            ImageSetting.Apply(true);
            if (manager)
            {
                ActiveScene(WarSupportPlayerViewSceneName);
                manager.SceneRoot.transform.SetPosition(Vector3.one * -999);
            }
            InvokeSceneActiveChangeEvent(WarSupportPlayerViewSceneName);
            isLoadingWarSupportPlayerViewScene = false;
            if (isElaryUnLoadSupportScene)
            {
                isElaryUnLoadSupportScene = false;
                UnLoadWarSupportPlayerViewScene();
                yield break;
            }
            if (null != callBack)
            {
                callBack(manager);
            }
        }
        else
        {
            isLoadingWarSupportPlayerViewScene = false;
        }
    }
Exemplo n.º 2
0
    public void OnFinish()
    {
        double loadSceneFinishTime = DateTime.Now.Ticks;

        ResourceEx.Collect();

        AdorningManager.Init();
        GrassAdorningManager.Init();

        ImageSetting.OnSceneLoadFinish();
        ImageSetting.Apply(true);
        //ImageSetting.ApplySceneImageSetting(SceneResInfoManager.CurrentActiveInstance, true);
        LightingEffectFactory.DisableDeadEffect();

        // 场景地图资源加载完后开始播放背景音乐
        //SoundManager.CreateUISound(StageManager.Instance.getSoundID());


        if (SoldierCamera.MainInstance() != null)
        {
            SoldierCamera.MainInstance <SoldierCamera>().updateCameraParam(m_curMapID, -1);
        }

        loadSceneFinishTime  = DateTime.Now.Ticks - loadSceneFinishTime;
        loadSceneFinishTime *= 0.0000001f;
        Debug.Log("场景加载完成阶段,耗时:" + loadSceneFinishTime);


        double time = DateTime.Now.Ticks - sceneLoadBegainTime;

        time *= 0.0000001f;
        Debug.Log("SceneLoad::DoTask 资源加载成功,场景名称 = " + m_SceneName + ",耗时:" + time);

        InvokeSceneLoadFinishEvent(m_SceneName);


        StartCoroutine(WaitTransitionFinish());

        InvokeSceneTransitionStartEvent(m_SceneName);
    }