LuaGameMgr.lua 19 KB

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