Пример #1
0
 public CocoSceneModuleData(CocoSceneID sceneId, string sceneName, System.Type moduleType = null, string modulePath = null)
 {
     this.sceneId         = sceneId;
     this.sceneName       = sceneName;
     this.moduleType      = moduleType;
     this.moduleAssetPath = modulePath;
 }
Пример #2
0
        public IEnumerator LoadSceneAsync(CocoSceneID sceneId)
        {
            if (!LoadSceneModule(sceneId))
            {
                yield break;
            }

            yield return(SceneManager.LoadSceneAsync(m_CurrSceneModule.Data.sceneName));
        }
Пример #3
0
        public void LoadScene(CocoSceneID sceneId)
        {
            if (!LoadSceneModule(sceneId))
            {
                return;
            }

            SceneManager.LoadScene(m_CurrSceneModule.Data.sceneName);
        }
Пример #4
0
        public CocoSceneModuleData GetSceneModuleData(CocoSceneID sceneId)
        {
            if (!m_ConfigDataDic.ContainsKey(sceneId))
            {
                return(null);
            }

            return(m_ConfigDataDic [sceneId]);
        }
Пример #5
0
        /// <summary>
        /// Create the specified ID.
        /// </summary>
        /// <param name="id">I.</param>
        /// <param name="transitionAssetPath"></param>
        public static CocoSceneSwitchControl Create(CocoSceneID id, string transitionAssetPath = null)
        {
            if (string.IsNullOrEmpty(transitionAssetPath))
            {
                transitionAssetPath = DEFAULT_TRANSITION_ASSET_PATH;
            }
            CocoSceneSwitchControl control = CocoLoad.InstantiateOrCreate <CocoSceneSwitchControl> (transitionAssetPath);

            m_EnterSceneID = id;
            return(control);
        }
Пример #6
0
        bool LoadSceneModule(CocoSceneID sceneId)
        {
            CocoSceneModuleData moduleData = GetSceneModuleData(sceneId);

            if (moduleData == null)
            {
                Debug.LogErrorFormat("{0}->AddSceneModule: can NOT found scene module for scene [{1}]!", GetType().Name, sceneId);
                return(false);
            }

            m_CurrSceneModule = CocoMainController.Instance.AddModule <CocoSceneModuleBase> (moduleData.moduleType, moduleData.moduleAssetPath);
            if (m_CurrSceneModule == null)
            {
                return(false);
            }

            m_CurrSceneModule.Data = moduleData;
            return(true);
        }
Пример #7
0
        public bool GetSceneWaitInit(CocoSceneID sceneId)
        {
            CocoSceneModuleData moduleData = GetSceneModuleData(sceneId);

            return(moduleData != null && moduleData.waitInit);
        }