LuaGameMgr.lua 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541
  1. local LuaGameMgr = class("LuaGameMgr", function()
  2. return GameMgr.Instance
  3. end)
  4. function LuaGameMgr:ctor()
  5. self:SetOnSceneLoadedLuaFunc(self.OnSceneLoadedInLua)
  6. self:SetLuaPlayStoryFunc(self.PlayStory)
  7. self:SdkInitFunc(self.SdkInitResult)
  8. self:SdkLoginFunc(self.SdkLoginResult)
  9. self:SdkLogoutFunc(self.SdkLogoutResult)
  10. self:SdkPayFunc(self.SdkPayResult)
  11. self:SdkQuestionFunc(self.UrlQuestionRewardResult)
  12. self:SdkCanEnterServerJudgeFunc(self.SdkCanEnterServerJudgeResult)
  13. self.newbieActors = nil
  14. self.IsCreateRole = false
  15. self.loadingPageOk = false
  16. self.IsActivationCodeMode = false
  17. self.showNiewbieLoading = false
  18. self.registerEvents = false
  19. self.isPreloadedFellow = false
  20. self.sdkInited = Enum.ParamState.None
  21. self.sdkLogined = Enum.ParamState.None
  22. self.token = ''
  23. self.openId = ''
  24. self.platform = ''
  25. self.channelName = ''
  26. self.serverData = {}
  27. self.canEnterServerState = Enum.ParamState.None
  28. end
  29. function LuaGameMgr:SendBattleRecordReq(recordType,params)
  30. ManagerContainer.NetManager:SendMessage(ProtoMsgId.CS_PLAYER_BATTLE_RECORD_REQ, {record_type = recordType, param_list = params})
  31. end
  32. function LuaGameMgr:OnSceneLoadedInLua(sceneType,mode)
  33. if sceneType == SceneType.CreateRoleScene then
  34. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.CreateRoleState.stateId)
  35. elseif sceneType == SceneType.NormalBattleScene then
  36. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.BattleState.stateId)
  37. elseif sceneType == SceneType.GuildLobbyScene then
  38. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.GuildLobbyState.stateId)
  39. elseif sceneType == SceneType.TowerBattleScene then
  40. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.DojoState.stateId, mode)
  41. elseif sceneType == SceneType.BossBattleScene then
  42. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.BossBattleState.stateId,mode)
  43. elseif sceneType == SceneType.TimeBattleScene then
  44. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.TimeBattleState.stateId,mode)
  45. end
  46. ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_Loading_Close)
  47. end
  48. function LuaGameMgr:Destroy()
  49. if tolua.getpeer(self) ~= nil then
  50. tolua.setpeer(self, nil)
  51. end
  52. end
  53. function LuaGameMgr:SdkInitResult(success,platformName)
  54. self.platform = platformName
  55. self.sdkInited = (success and Enum.ParamState.Success or Enum.ParamState.Fail)
  56. end
  57. function LuaGameMgr:SdkLoginResult(success,openId,token,isSwitchAccount)
  58. local lastSdkLogined = self.sdkLogined
  59. self.sdkLogined = (success and Enum.ParamState.Success or Enum.ParamState.Fail)
  60. self.token = token or ''
  61. self.openId = openId or ''
  62. if success then
  63. if isSwitchAccount then
  64. if lastSdkLogined == Enum.ParamState.Success then
  65. if ManagerContainer.DataMgr.UserData:IsInitedOver() then
  66. ManagerContainer.DataMgr.UserData:SDKExitGame()
  67. end
  68. self:ClearServerData()
  69. self:ReLogin()
  70. end
  71. end
  72. end
  73. end
  74. function LuaGameMgr:SdkLogoutResult()
  75. if ManagerContainer.DataMgr.UserData:IsInitedOver() then
  76. ManagerContainer.DataMgr.UserData:SDKExitGame()
  77. end
  78. local lastSdkLogined = self.sdkLogined
  79. self.sdkLogined = Enum.ParamState.Fail
  80. self.token = ''
  81. self.openId = ''
  82. if lastSdkLogined == Enum.ParamState.Success then
  83. self:ClearServerData()
  84. self:ReLogin()
  85. end
  86. end
  87. function LuaGameMgr:SdkPayResult(success)
  88. ManagerContainer.PayMgr:SdkPayResult(success)
  89. end
  90. function LuaGameMgr:InitServerData(id, name, ip, ports, state)
  91. self.serverData.id = id
  92. self.serverData.name = name
  93. self.serverData.ip = ip
  94. self.serverData.ports = ports
  95. self.serverData.state = state
  96. self.serverData.portidx = nil
  97. end
  98. function LuaGameMgr:SetServerID(id)
  99. --LogError('============id===='..id);
  100. UnityEngine.PlayerPrefs.SetInt("ServerID",id)
  101. end
  102. function LuaGameMgr:GetServerID()
  103. return UnityEngine.PlayerPrefs.GetInt("ServerID") or -1
  104. end
  105. -- 困難模式DifficultMode
  106. function LuaGameMgr:SetDifficultMode(mode)
  107. --LogError('============id===='..id);
  108. UnityEngine.PlayerPrefs.SetInt("DifficultMode",mode)
  109. end
  110. -- <= 0 普通 ;> 0 困難
  111. function LuaGameMgr:GetDifficultMode()
  112. return UnityEngine.PlayerPrefs.GetInt("DifficultMode") or -1
  113. end
  114. function LuaGameMgr:ClearServerData()
  115. self.serverData = {}
  116. end
  117. function LuaGameMgr:ComposeCommonServerInfo(url)
  118. local openId = self.openId
  119. if openId and openId ~= '' then
  120. url = url .. '&openid=' .. tostring(openId)
  121. end
  122. local platform = self.platform
  123. if platform and platform ~= '' then
  124. url = url .. '&platform=' .. tostring(platform)
  125. end
  126. local subplatform = self.channelName
  127. if subplatform and subplatform ~= '' then
  128. url = url .. '&sub_platform=' .. tostring(subplatform)
  129. end
  130. local resVer = self.ResVersion
  131. if resVer and resVer ~= '' then
  132. url = url .. '&resver=' .. tostring(resVer)
  133. end
  134. url = url .. '&timesamp=' .. tostring(os.time())
  135. return url
  136. end
  137. --进入创建角色场景
  138. function LuaGameMgr:EnterCreateRole(activedCode)
  139. self.IsCreateRole = true
  140. self.IsActivationCodeMode = activedCode
  141. ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.EID_ENTER_CREATE_ROLE)
  142. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.LoadingState.stateId, SceneType.CreateRoleScene)
  143. end
  144. --进入战斗
  145. function LuaGameMgr:EnterBattle(first)
  146. if ManagerContainer.FSMMgr:IsBattleState() then
  147. --ManagerContainer.LuaUIMgr:HideAllPagesExceptId(Enum.UIPageName.UIBattle)
  148. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIBattle)
  149. return;
  150. end
  151. if first == false then
  152. local nloadingId = 3
  153. if self.showNiewbieLoading then
  154. nloadingId = 2
  155. self.showNiewbieLoading = false
  156. end
  157. self:OpenLoading(Enum.UIPageName.UILoading,{loadingId = nloadingId})
  158. end
  159. --ManagerContainer.LuaActorAttributeMgr:SyncServerActorDataToLocal()
  160. --清空断线后 返回巡游 残留的远征BUFF
  161. ManagerContainer.LuaActorDataMgr:ResetData()
  162. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.LoadingState.stateId, SceneType.NormalBattleScene,first)
  163. end
  164. --进入公会大厅
  165. function LuaGameMgr:EnterGuildLobby()
  166. if ManagerContainer.FSMMgr:IsGuildLobbyState() then
  167. return
  168. end
  169. self:OpenLoading(Enum.UIPageName.UILoading)
  170. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.LoadingState.stateId, SceneType.GuildLobbyScene)
  171. end
  172. --进入道场
  173. function LuaGameMgr:EnterDojo(sceneName, ourActors, enemyActors,OurMarks, IsPresspoint,nPresspoint,battleEndConds)
  174. if ManagerContainer.FSMMgr:IsDojoState() then
  175. return;
  176. end
  177. local param = {}
  178. param["mode"] = BattleSubMode.Arena
  179. param["sceneName"] = sceneName
  180. param["ourActors"] = ourActors
  181. param["enemyActors"] = enemyActors
  182. param["battleEndConds"] = battleEndConds
  183. param["OurBattleMarks"] = OurMarks
  184. param["IsPresspoint"] = IsPresspoint
  185. param["nPresspoint"] = nPresspoint
  186. -- self:OpenLoading(Enum.UIPageName.UILoading)
  187. self:OpenLoading(Enum.UIPageName.UIDojoMatch, param)
  188. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.LoadingState.stateId, SceneType.TowerBattleScene, param)
  189. end
  190. function LuaGameMgr:EnterHundredDojo(sceneName, ourActors, enemyActors, maxFightingTime,OurMarks,IsPresspoint,nPresspoint, battleEndConds)
  191. if ManagerContainer.FSMMgr:IsDojoState() then
  192. return;
  193. end
  194. local param = {}
  195. param["mode"] = BattleSubMode.HundredDojo
  196. param["sceneName"] = sceneName
  197. param["ourActors"] = ourActors
  198. param["enemyActors"] = enemyActors
  199. param["maxFightingTime"] = maxFightingTime
  200. param["OurBattleMarks"] = OurMarks
  201. param["IsPresspoint"] = IsPresspoint
  202. param["nPresspoint"] = nPresspoint
  203. param["battleEndConds"] = battleEndConds
  204. self:OpenLoading(Enum.UIPageName.UIDojoMatch, param)
  205. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.LoadingState.stateId, SceneType.TowerBattleScene, param)
  206. end
  207. --工会战
  208. function LuaGameMgr:EnterGvGBattle(sceneName, ourActors, enemyActors, maxFightingTime, battleEndConds,OurMarksDatas,EnemyMarksDatas,IsPresspoint,nPresspoint)
  209. if ManagerContainer.FSMMgr:IsDojoState() then
  210. return;
  211. end
  212. local param = {}
  213. param["mode"] = BattleSubMode.GvG
  214. param["sceneName"] = sceneName
  215. param["ourActors"] = ourActors
  216. param["enemyActors"] = enemyActors
  217. param["maxFightingTime"] = maxFightingTime
  218. param["battleEndConds"] = battleEndConds
  219. param["OurBattleMarks"] = OurMarksDatas
  220. param["EnemyBattleMarks"] = EnemyMarksDatas
  221. param["IsPresspoint"] = IsPresspoint
  222. param["nPresspoint"] = nPresspoint
  223. self:OpenLoading(Enum.UIPageName.UIDojoMatch, param)
  224. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.LoadingState.stateId, SceneType.TowerBattleScene, param)
  225. end
  226. function LuaGameMgr:EnterVoyageBattle(sceneName, ourActors, enemyActors, maxFightingTime, ourMarks,IsPresspoint,nPresspoint, battleEndConds)
  227. if ManagerContainer.FSMMgr:IsDojoState() then
  228. return;
  229. end
  230. local param = {}
  231. param["mode"] = BattleSubMode.Voyage
  232. param["sceneName"] = sceneName
  233. param["ourActors"] = ourActors
  234. param["enemyActors"] = enemyActors
  235. param["maxFightingTime"] = maxFightingTime
  236. param["battleEndConds"] = battleEndConds
  237. param["OurBattleMarks"] = ourMarks
  238. param["IsPresspoint"] = IsPresspoint
  239. param["nPresspoint"] = nPresspoint
  240. self:OpenLoading(Enum.UIPageName.UIDojoMatch, param)
  241. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.LoadingState.stateId, SceneType.TowerBattleScene, param)
  242. end
  243. -- 进入资源副本战斗
  244. function LuaGameMgr:EnterResourceBattle(sceneName,bgmMusic,maxFightingTime,ourActors,enemyActors,battleEndConds)
  245. if ManagerContainer.FSMMgr:IsTimeBattleState() then
  246. return
  247. end
  248. self:OpenLoading(Enum.UIPageName.UILoading)
  249. local param = {}
  250. param["mode"] = BattleSubMode.Resource
  251. param["sceneName"] = sceneName
  252. param["bgmMusic"] = bgmMusic
  253. param["maxFightingTime"] = maxFightingTime
  254. param["ourActors"] = ourActors
  255. param["enemyActors"] = enemyActors
  256. param["battleEndConds"] = battleEndConds
  257. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.LoadingState.stateId, SceneType.TimeBattleScene, param)
  258. end
  259. -- 进入公会狩猎boss战斗
  260. function LuaGameMgr:EnterGuildHuntBattle(sceneName, bgmMusic, maxFightingTime, ourActors, enemyActors, battleEndConds)
  261. if ManagerContainer.FSMMgr:IsTimeBattleState() then
  262. return
  263. end
  264. self:OpenLoading(Enum.UIPageName.UILoading)
  265. local param = {}
  266. param["mode"] = BattleSubMode.Guild
  267. param["sceneName"] = sceneName
  268. param["bgmMusic"] = bgmMusic
  269. param["maxFightingTime"] = maxFightingTime
  270. param["ourActors"] = ourActors
  271. param["enemyActors"] = enemyActors
  272. param["battleEndConds"] = battleEndConds
  273. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.LoadingState.stateId, SceneType.TimeBattleScene, param)
  274. end
  275. -- 进入公会魔王boss战斗
  276. function LuaGameMgr:EnterGuildHuntExBattle(sceneName, bgmMusic, maxFightingTime, ourActors, enemyActors, battleEndConds)
  277. if ManagerContainer.FSMMgr:IsTimeBattleState() then
  278. return
  279. end
  280. self:OpenLoading(Enum.UIPageName.UILoading)
  281. local param = {}
  282. param["mode"] = BattleSubMode.GuildEx
  283. param["sceneName"] = sceneName
  284. param["bgmMusic"] = bgmMusic
  285. param["maxFightingTime"] = maxFightingTime
  286. param["ourActors"] = ourActors
  287. param["enemyActors"] = enemyActors
  288. param["battleEndConds"] = battleEndConds
  289. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.LoadingState.stateId, SceneType.TimeBattleScene, param)
  290. end
  291. -- 进入爬塔战斗
  292. function LuaGameMgr:EnterClimbingTowerBattle(sceneName,bgmMusic,maxFightingTime,ourActors,enemyActors,battleEndConds,recordStr,battleFactors,replayername)
  293. if ManagerContainer.FSMMgr:IsTimeBattleState() then
  294. return
  295. end
  296. self:OpenLoading(Enum.UIPageName.UILoading)
  297. local param = {}
  298. param["mode"] = BattleSubMode.ClimbingTower
  299. param["sceneName"] = sceneName
  300. param["bgmMusic"] = bgmMusic
  301. param["maxFightingTime"] = maxFightingTime
  302. param["ourActors"] = ourActors
  303. param["enemyActors"] = enemyActors
  304. param["battleEndConds"] = battleEndConds
  305. param["battleRecordStr"] = recordStr
  306. param["battleFactors"] = battleFactors
  307. if param["battleRecordStr"] ~= nil then
  308. param["replayername"] = replayername
  309. end
  310. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.LoadingState.stateId, SceneType.TimeBattleScene, param)
  311. end
  312. --PVP 爬塔
  313. function LuaGameMgr:EnterClimbingTowerBattlePvP(sceneName, bgmMusic,maxFightingTime,ourActors, enemyActors,OurMarks, IsPresspoint,nPresspoint,battleEndConds)
  314. if ManagerContainer.FSMMgr:IsDojoState() then
  315. return;
  316. end
  317. self:OpenLoading(Enum.UIPageName.UILoading)
  318. local param = {}
  319. param["mode"] = BattleSubMode.PvPClimbinglower
  320. param["sceneName"] = sceneName
  321. param["bgmMusic"] = bgmMusic
  322. param["ourActors"] = ourActors
  323. param["enemyActors"] = enemyActors
  324. param["maxFightingTime"] = maxFightingTime
  325. param["OurBattleMarks"] = OurMarks
  326. param["IsPresspoint"] = IsPresspoint
  327. param["nPresspoint"] = nPresspoint
  328. param["battleEndConds"] = battleEndConds
  329. --self:OpenLoading(Enum.UIPageName.UIDojoMatch, param)
  330. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.LoadingState.stateId, SceneType.TowerBattleScene, param)
  331. end
  332. -- 进入远征之门战斗
  333. function LuaGameMgr:EnterExpeditionBattle(sceneName,bgmMusic,maxFightingTime,ourActors,enemyActors,nloadingId,serverActorData,battleEndConds,RestoreSp)
  334. if ManagerContainer.FSMMgr:IsTimeBattleState() then
  335. return
  336. end
  337. self:OpenLoading(Enum.UIPageName.UILoading,{loadingId = nloadingId})
  338. local param = {}
  339. param["mode"] = BattleSubMode.Expedition
  340. param["sceneName"] = sceneName
  341. param["bgmMusic"] = bgmMusic
  342. param["maxFightingTime"] = maxFightingTime
  343. param["ourActors"] = ourActors
  344. param["enemyActors"] = enemyActors
  345. param["battleEndConds"] = battleEndConds
  346. param["serverActorData"] = serverActorData
  347. param['RestoreSp'] = RestoreSp
  348. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.LoadingState.stateId, SceneType.TimeBattleScene, param)
  349. end
  350. --- 进入世界boss
  351. ---@param actorDatas Array<ActorData> 进入挑战的其它玩家信息
  352. ---@param summonId boss等配置Id
  353. ---@param summonScene 战斗场景配置Id
  354. function LuaGameMgr:EnterWorldBoss(actorDatas, summonId, summonScene,battleEndConds)
  355. if ManagerContainer.FSMMgr:IsBossBattleState() then
  356. return
  357. end
  358. self:OpenLoading(Enum.UIPageName.UILoading)
  359. local param ={}
  360. param["actors"] = actorDatas
  361. param["bossId"] = summonId
  362. param["sceneId"] = summonScene
  363. param["bossMode"] = BattleSubMode.WorldBoss
  364. param["battleEndConds"] = battleEndConds
  365. ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.LoadingState.stateId, SceneType.BossBattleScene, param)
  366. end
  367. function LuaGameMgr:EnterNewbie()
  368. if ManagerContainer.FSMMgr:IsBossBattleState() then
  369. return
  370. end
  371. if ManagerContainer.LuaUIMgr:HasOpenPage(Enum.UIPageName.UILanuch) == false then
  372. self:OpenLoading(Enum.UIPageName.UILoading,{loadingId = 1})
  373. end
  374. -- local param ={}
  375. -- param["sceneId"] = 2
  376. -- param["bossMode"] = BattleSubMode.NewbieBoss
  377. -- ManagerContainer.FSMMgr:ChangeState(Enum.StateEnum.LoadingState.stateId, SceneType.BossBattleScene, param)
  378. -- self:ShowNewbieLoading()
  379. self:EnterBattle(true)
  380. end
  381. --- 播放剧情动画
  382. function LuaGameMgr:PlayStory(storyType, storyId)
  383. if storyType == Enum.StoryType.Dlg then
  384. if storyId <= 0 then
  385. storyId = self:GetCurStoryId()
  386. end
  387. if storyId then
  388. ManagerContainer.UIStoryMgr:StartStoryByStoryId(storyId)
  389. return
  390. end
  391. elseif storyType == Enum.StoryType.EnterNewMap then
  392. if storyId <= 0 then
  393. storyId = self:GetCurStoryId()
  394. end
  395. if storyId then
  396. if ManagerContainer.StoryMgr:StartStoryChapterById(storyId) then
  397. return
  398. end
  399. end
  400. end
  401. self:StopStory(storyType)
  402. end
  403. function LuaGameMgr:GetCurStoryId()
  404. local luaBattleMgr = ManagerContainer.LuaBattleMgr
  405. if not luaBattleMgr then return nil end
  406. local id = luaBattleMgr:GetCurLevelUniqueId()
  407. if not id then return nil end
  408. local cfgMgr = ManagerContainer.CfgMgr
  409. if not cfgMgr then return nil end
  410. local levelCfgData = cfgMgr:GetLevelDataById(id)
  411. if not levelCfgData then return nil end
  412. return levelCfgData.DlgContentId
  413. end
  414. function LuaGameMgr:StopStory(storyType)
  415. LuaBattleBridge.CurStoryOver(storyType)
  416. end
  417. function LuaGameMgr:SetCreateRoleStatus(status)
  418. self.IsCreateRole = status
  419. end
  420. function LuaGameMgr:OpenLoading(pageId,param)
  421. self.loadingPageOk = false
  422. ManagerContainer.LuaEventMgr:RegisterEvent(UIEventNames.EID_Loaded_Page_OK, self, self.OnLoadingPageOk)
  423. ManagerContainer.LuaUIMgr:Open(pageId,param)
  424. end
  425. function LuaGameMgr:OnLoadingPageOk()
  426. self.loadingPageOk = true
  427. ManagerContainer.LuaEventMgr:UnregisterEvent(UIEventNames.EID_Loaded_Page_OK, self, self.OnLoadingPageOk)
  428. end
  429. function LuaGameMgr:LoadCommonUIAssets()
  430. ManagerContainer.ResMgr:LoadAssetGameObjects(Constants.EffectPath, ELoadType.OTHER, function()
  431. end, unpack(Constant.Quality_FX))
  432. ManagerContainer.ResMgr:InitCommonMats()
  433. end
  434. function LuaGameMgr:ShowNewbieLoading()
  435. self.showNiewbieLoading = true
  436. end
  437. function LuaGameMgr:LuaSaveGameSpeed(speed)
  438. self:SaveGameSpeed(speed)
  439. local uid = ManagerContainer.DataMgr.UserData:GetUserId()
  440. UnityEngine.PlayerPrefs.SetString(tostring(uid).."_GameSpeed",tostring(speed))
  441. end
  442. function LuaGameMgr:LoadGameSpeed()
  443. local uid = ManagerContainer.DataMgr.UserData:GetUserId()
  444. local speedStr = UnityEngine.PlayerPrefs.GetString(tostring(uid).."_GameSpeed")
  445. if speedStr ~= nil and speedStr ~= "" then
  446. self:SaveGameSpeed(tonumber(speedStr))
  447. else
  448. self:SaveGameSpeed(1)
  449. end
  450. end
  451. function LuaGameMgr:PreloadFellowsModel()
  452. if self.isPreloadedFellow == true then
  453. return
  454. end
  455. local partnerDatas = ManagerContainer.DataMgr.PartnerData:GetPartnerDatas()
  456. local fellows = System.Array.CreateInstance(Enum.TypeInfo.ActorData,#partnerDatas)
  457. local idx = 0
  458. for _,v in pairs(partnerDatas) do
  459. if v ~= nil and not v.isBattle then
  460. local fellowActor = ActorData.CreateFellowActor(v.configId)
  461. fellows[idx] = fellowActor
  462. idx = idx + 1
  463. end
  464. end
  465. self:PreloadAllFellows(fellows)
  466. self.isPreloadedFellow = true
  467. end
  468. function LuaGameMgr:UrlQuestionRewardResult(success)
  469. if success then
  470. ManagerContainer.DataMgr.UserData:SendQuestionReward()
  471. end
  472. end
  473. function LuaGameMgr:SdkCanEnterServerJudgeResult(value)
  474. self.canEnterServerState = (value == '1' and Enum.ParamState.Success or Enum.ParamState.Fail)
  475. end
  476. return LuaGameMgr