LuaGameMgr.lua 19 KB

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