示例#1
0
        public virtual bool Initlize()
        {
            UnityEngine.Debug.Log("GameManager.Initlize start");
            AppDomain.CurrentDomain.AssemblyResolve    += this.OnAssemblyResolve;
            AppDomain.CurrentDomain.AssemblyLoad       += this.OnAssemblyLoad;
            AppDomain.CurrentDomain.UnhandledException += this.OnUnhandledException;
            if (!this.InitlizeGameSetting())
            {
                UnityEngine.Debug.LogError("GameManager.Initlize fail");
                return(false);
            }
            Application.targetFrameRate = this.m_gameClientSetting.ResolutionSetting.RefreshRate;
            Screen.sleepTimeout         = -1;
            global::Debug.m_mainThread  = Thread.CurrentThread;
            string str = (!this.m_gameClientSetting.Log2Persistent) ? Application.temporaryCachePath : Application.persistentDataPath;

            this.m_logManager = LogManager.CreateLogManager();
            if (!this.m_logManager.Initlize(!this.m_gameClientSetting.DisableUnityEngineLog, true, str + "/Log/", "Log"))
            {
                UnityEngine.Debug.LogError("GameManager.Initlize fail for m_logManager.Initlize");
                return(false);
            }
            this.m_taskManager = TaskManager.CreateTaskManager();
            if (!this.m_taskManager.Initlize())
            {
                UnityEngine.Debug.LogError("GameManager.Initlize fail for m_taskManager.Initlize()");
                return(false);
            }
            if (GameManager.CreateResourceManagerHandler != null)
            {
                this.m_resourceManager = GameManager.CreateResourceManagerHandler();
            }
            else
            {
                this.m_resourceManager = ResourceManager.CreateResourceManager();
            }
            if (!this.m_resourceManager.Initlize(this.m_gameClientSetting.ResourcesSetting))
            {
                global::Debug.LogError("GameManager.Initlize fail for m_resourceManager.Initlize()");
                return(false);
            }
            this.m_sceneManager = SceneManager.CreateSceneManager();
            if (!this.m_sceneManager.Initlize(this.m_gameClientSetting.SceneSetting.DesignScreenWidth, this.m_gameClientSetting.SceneSetting.DesignScreenHeight, this.m_gameClientSetting.SceneSetting.TrigerWidth2ShrinkScale, this.m_gameClientSetting.SceneSetting.TrigerHeight2ShrinkScale, this.m_gameClientSetting.SceneSetting.SceneLayerOffset, false, this.m_gameClientSetting.SceneSetting.UseOrthographicForUILayer))
            {
                global::Debug.LogError("GameManager.Initlize fail for m_sceneManager.Initlize()");
                return(false);
            }
            this.m_uiManager = UIManager.CreateUIManager();
            if (!this.m_uiManager.Initlize())
            {
                global::Debug.LogError("GameManager.Initlize fail for m_uiManager.Initlize()");
                return(false);
            }
            this.m_classLoader = ClassLoader.CreateClassLoader();
            Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
            foreach (Assembly assembly in assemblies)
            {
                this.m_classLoader.AddAssembly(assembly);
            }
            foreach (string assemblyString in this.m_gameClientSetting.DynamicAssemblySetting.DynamicAssemblyList)
            {
                this.m_classLoader.AddAssembly(Assembly.Load(assemblyString));
            }
            if (this.m_gameClientSetting.LuaSetting.EnableLua)
            {
                if (this.m_gameClientSetting.DynamicAssemblySetting.EnableDynamicAssembly)
                {
                    global::Debug.LogError("Can not enable DynamicAssembly and Lua in same time");
                    return(false);
                }
                this.m_luaManager = LuaManager.CreateLuaManager();
                if (!this.m_luaManager.Initlize(this.m_gameClientSetting.LuaSetting.LuaRootPath, this.m_gameClientSetting.LuaSetting.LuaInitModule))
                {
                    global::Debug.LogError("GameManager.Initlize fail for m_luaManager.Initlize()");
                    return(false);
                }
            }
            this.m_state = GameManager.GMState.Inited;
            return(true);
        }