LuaGameMgr.lua 19 KB

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