void LoadFirstSceneModule()
        {
#if UNITY_EDITOR
            CocoSceneModuleData startModuleData = m_ConfigDataDic.Values.FirstOrDefault(moduleData => {
                return(moduleData.sceneName == GameApplication.RequestingScene);
            });
#else
            CocoSceneModuleData startModuleData = m_ConfigDataDic.Values.FirstOrDefault();
                        #endif

            LoadSceneModule(startModuleData.sceneId);
            Debug.LogFormat("---- START FIRST SCENE: [{0}<{1}>] --------------------------", startModuleData.sceneId, startModuleData.sceneName);
        }
        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);
        }
 protected void AddSceneModuleData(CocoSceneModuleData moduleData)
 {
     m_ConfigDataDic.Add(moduleData.sceneId, moduleData);
 }
        public bool GetSceneWaitInit(CocoSceneID sceneId)
        {
            CocoSceneModuleData moduleData = GetSceneModuleData(sceneId);

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