|
|
- require("utils.EngineClass")
- require("systool.RequireSystool")
- require("game.common.LuaMemManager")
-
- LuaMemManager.New()
- local require = require
- GameModule = GameModule or {}
- local GameModule = GameModule
- local Time = Time
-
- function GameModule.Main()
- QualitySettings.streamingMipmapsActive = false
- -- 测试
- -- if ApplicationPlatform == RuntimePlatform.Android or tostring(ApplicationPlatform) == tostring(RuntimePlatform.Android) then
- -- QualitySettings.streamingMipmapsActive = true
- -- QualitySettings.streamingMipmapsMemoryBudget = 2048
- -- QualitySettings.streamingMipmapsMaxLevelReduction = 1
- -- QualitySettings.streamingMipmapsAddAllCameras = true
- -- end
-
- GlobalUserOperateTime = 0
- --输出 assetbundle 包更新下载加载卸载日志
- --AppConst.OpenDownloadLog = true
- OpenGameDebugLog = AppConst.OpenDownloadLog
-
- require("clientconfig.ClientConfig")
- require("config.Config")
- require("utils.RequireUtils")
- require("game.common.RequireCommon")
- require("sysinfo.SysInfoCtrl")
- require("newgameui.RequireGameUI")
- require("language.RequireLanguage")
- require("game.login.LoginController")
- require("game.common.OpenFun")
- require("game.common.StepPackModule")
- require("utils.LuaFPS")
- require("game.login.PreLoadBeforeLogin")
- require("game.login.LoginBg")
-
- math.randomseed(tostring(os.time()):reverse():sub(1, 6))
-
- GameError.New()
- SystemRuntimePlatform.Init()
- -- if SystemRuntimePlatform.IsAndroid() then
- -- G_DEBUG_MODE = true
- -- end
- SystemMemoryLevel.Init()
- SetGameFrameRate()
- InitResLoadSpeed()
- InitEngineData()
- GlobalTimerQuest = TimerQuest.New()
- GameConfigUtil.Load()
- GamePlatformRes.Load()
- ShaderTools.Load()
- GlobalEventSystem = EventSystem.New()
- Runner:getInstance():AddRunObj(GlobalEventSystem, 3)
- GameModule.runner = Runner:getInstance()
- lua_resM = LuaResManager:getInstance()
- lua_logM = LuaLogManager:getInstance()
- lua_viewM = LuaViewManager:getInstance()
- LuaMemManager:getInstance():InitInfo()
- CookieWrapper.New()
- lua_soundM = LuaSoundManager:getInstance()
- lua_soundM:LoadSetting()
- lua_settingM = GameSettingManager:getInstance()
- lua_settingM:ApplySetting()
- UpdateBeat:Add(GameModule.Update)
- LateUpdateBeat:Add(GameModule.LateUpdate)
- LoginBg.New()
- SDKManager:RegisterCallbackFunc( SDKUtil.SDKCallBack )
- StepPackModule.New()
- co.InitTempVectorArray()
- GameDontDestroyOnLoad()
-
- local function onLoadLogicModule()
- print("onLoadLogicModule")
-
- --开始加载逻辑模块
- LoginController.Instance:ShowLoading()
- GlobleLogicFile = GlobleLogicFile or {}
- require("game.common.ModulesController")
- end
- GlobalEventSystem:Bind(EventName.START_LOAD_LOGIC_MODULE,onLoadLogicModule)
-
- local game_start = function()
- print("PreLoadProgressDelete")
-
- --进入场景后销毁预加载的登录创角资源
- if GameModule.PreLoadProgress then
- GameModule.PreLoadProgress:DeleteMe()
- GameModule.PreLoadProgress = nil
- end
- end
- GlobalEventSystem:Bind(EventName.GAME_START,game_start)
-
- local function onDBLoadCompleted()
- print("onDBLoadCompleted")
-
- require("game.luaError.LuaErrorController")
- require("game.login.LoginModel")
- require("game.login.AccountView")
- require("game.login.AccountServerItem")
- require("game.login.ServerItem")
- require("gameinput.GameInputManager")
-
- LuaErrorController.New()
- SysInfoCtrl.New()
- GameInputManager.New()
- UserMsgAdapter:getInstance()
- LoginController.New()
-
- --关闭引擎的加载界面
- PreLoadViewState = false
- Util.ClosePreLoadView()
-
- --显示登录界面
- GlobalEventSystem:Fire(LoginStateEvent.SHOW_LOGIN_VIEW)
- end
- GlobalEventSystem:Bind(EventName.DB_DATA_LOAD_COMPLETED,onDBLoadCompleted)
-
- local function onPreloadLoginResCompleted()
- --首次预加载回调才进行
- if PreLoadViewState then
- print("onPreloadLoginResCompleted")
- ConfigItemMgr.New()
- CheckAndroid9SystemHair()
- end
- end
- GlobalEventSystem:Bind(EventName.PRELOAD_LOGIN_RES_COMPLETED,onPreloadLoginResCompleted)
-
- local start_init_login = function()
- print("OnPreLoadProgress")
- if GameModule.PreLoadProgress == nil or GameModule.PreLoadProgress._use_delete_method then
- GameModule.PreLoadProgress = PreLoadBeforeLogin.New()
- end
- end
- GlobalEventSystem:Bind(LoginStateEvent.START_LOGIN_MODULE,start_init_login)
-
- local function onUILoadCompleted()
- print("onUILoadCompleted")
- start_init_login()
- end
- GlobalEventSystem:Bind(EventName.GAME_UI_LOAD_COMPLETED,onUILoadCompleted)
-
- --开始预加载资源
- UiFactory.StartPreload()
- end
-
- function GameModule.Update()
- GameModule.runner:Update( Time.time, Time.deltaTime )
-
- --开始逻辑模块后分帧加载系统文件
- if not GameModule.init_modules_complete and GlobleLogicFile then
- GameModule.GameLogicModuleInit()
- end
- end
-
- function GameModule.LateUpdate()
- GameModule.runner:LateUpdate( Time.time, Time.deltaTime )
- end
-
- function GameModule.GameLogicModuleInit()
- for i = 1,3 do
- GlobleInitLogicIndex = GlobleInitLogicIndex or 1
- require(GlobleLogicFile[GlobleInitLogicIndex])
-
- if GlobleInitLogicIndex == #GlobleLogicFile then
- GlobleLogicFile = nil
-
- ModulesController.New()
- GameModule.init_modules_complete = true
- LoginController.Instance:CloseLoading()
- --逻辑模块全部加载完成后触发获取角色数据流程
- GlobalEventSystem:Fire(EventName.START_LOHIN_ROLE_ACTION)
- return
- else
- GlobleInitLogicIndex = GlobleInitLogicIndex + 1
- end
- end
- end
|