UIMainCity1View.lua 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. local UIMainCity1View = require("UIMainCity/UIMainCity1View_Generate")
  2. local ConditionJudge = require("Common/ConditionJudge")
  3. local TaskJumpCtr = require("Common/TaskJumpCtr")
  4. function UIMainCity1View:OnAwake(data)
  5. self.controller = require("UIMainCity/UIMainCity1Ctr"):new()
  6. self.controller:Init(self)
  7. self.controller:SetData(data)
  8. end
  9. function UIMainCity1View:AddEventListener()
  10. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.WORLD_BOSS_LIST_CHANGED, self, self.OpenWorldBoss)
  11. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.PET_RELATION_OPEN_NTF, self, self.OpenPetRelation)
  12. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.RED_ENVELOPE_REMAIN_TIME_REFRESH, self, self.OnRedEnvelopeRemainTimeRefresh)
  13. end
  14. function UIMainCity1View:FillContent(data, uiBase)
  15. self.uiBase = uiBase
  16. local gameObject = self.uiBase:GetRoot()
  17. if gameObject ~= nil then
  18. self.gameObject = gameObject
  19. self.transform = gameObject.transform
  20. end
  21. self:InitGenerate(self.transform, data)
  22. self:Init()
  23. end
  24. function UIMainCity1View:Init()
  25. --self:OnCheckFriendRedpoint()
  26. --ManagerContainer.LuaUIMgr:OpenLimitRechargeUI()
  27. self:RefreshAllDataState()
  28. self:RefreshBtnsDisplayState()
  29. end
  30. function UIMainCity1View:RefreshAllDataState()
  31. --时装红点
  32. ManagerContainer.DataMgr.FashionData:RefreshAllFashionLvUpNotify()
  33. end
  34. function UIMainCity1View:RefreshBtnsDisplayState()
  35. if not Constant.OpenPay then
  36. self.redEnvelope:SetActive(false)
  37. return
  38. end
  39. --现金红包
  40. local reActItem = ManagerContainer.DataMgr.ActsDataMgr:GetActivityItemById(Enum.ActivityType.ACTIVITY_TYPE_CASH_SHOP)
  41. local state = reActItem and reActItem:IsUnlocked() and reActItem:IsOpened() and not reActItem:IsOutofDate()
  42. self.redEnvelope:SetActive(state)
  43. self:OnRedEnvelopeRemainTimeRefresh()
  44. end
  45. function UIMainCity1View:RemoveEventListener()
  46. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  47. end
  48. function UIMainCity1View:AddUIEventListener()
  49. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
  50. self.uiBase:AddButtonEventListener(self.btnEquipForge.button, self, self.OpenEquipForgeUI)
  51. self.uiBase:AddButtonEventListener(self.btnCard.button, self, self.OpenCardUI)
  52. self.uiBase:AddButtonEventListener(self.btnMail.button, self, self.OpenMailUI)
  53. self.uiBase:AddButtonEventListener(self.btnArena.button, self, self.OpenArenaUI)
  54. self.uiBase:AddButtonEventListener(self.btnWorldBoss.button, self, self.OpenWorldBoss)
  55. self.uiBase:AddButtonEventListener(self.btnFashion.button, self, self.OpenFashion)
  56. self.uiBase:AddButtonEventListener(self.btnFriend.button,self,self.OpenFriendListPage)
  57. self.uiBase:AddButtonEventListener(self.btnNotifyActivity.button,self,self.OpenNoticeAndActivity)
  58. self.uiBase:AddButtonEventListener(self.btnSign.button,self,self.OpenSignIn)
  59. self.uiBase:AddButtonEventListener(self.btnClimbingTower.button,self,self.OpenClimbingTowerPage)
  60. self.uiBase:AddButtonEventListener(self.btnEvil.button,self,self.OpenSkillExpBattlePage)
  61. self.uiBase:AddButtonEventListener(self.btnGuild.button, self, self.OnClickGuildBtn)
  62. self.uiBase:AddButtonEventListener(self.btnExpedition.button, self, self.OnClickExpeditionBtn)
  63. self.uiBase:AddButtonEventListener(self.btnSummon.button, self, self.OnClickSummonBtn)
  64. self.uiBase:AddButtonEventListener(self.redEnvelope.btnSmall.button, self, self.OnRedEnvelope)
  65. self.uiBase:AddButtonEventListener(self.btnDojo.button, self, self.OnClickHundredDojoBtn)
  66. self.uiBase:AddButtonEventListener(self.btnKapula.button, self, self.OnClickKapulaBtn)
  67. self.uiBase:AddButtonEventListener(self.btnAirship.button, self, self.OnClickVoyageBtn)
  68. end
  69. function UIMainCity1View:OpenEquipForgeUI()
  70. -- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIForge1, Enum.EquipForgeType[Enum.ForgeType.Sword])
  71. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIShop, nil, self.uiData.id)
  72. end
  73. function UIMainCity1View:OpenCardUI()
  74. --self:UIHide(false)
  75. --ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UICardList, Enum.CardFuncType.Recreate, self.uiData.id)
  76. --ManagerContainer.DataMgr.CollectionBookData:QueryCardHandBook(Enum.UIPageName.UIMainCity1)
  77. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UICollect, nil, self.uiData.id)
  78. end
  79. function UIMainCity1View:OpenMailUI()
  80. --self:UIHide(false)
  81. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIMailBox, nil, self.uiData.id)
  82. end
  83. function UIMainCity1View:OpenArenaUI()
  84. ManagerContainer.DataMgr.ArenaData:SendArenaDataReq(Enum.UIPageName.UIDojo2D)
  85. end
  86. function UIMainCity1View:OpenWorldBoss()
  87. TaskJumpCtr:OpenWorldBoss(self.uiData.id);
  88. end
  89. function UIMainCity1View:OpenFashion()
  90. --self:UIHide(false)
  91. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIFashion, nil, self.uiData.id)
  92. end
  93. function UIMainCity1View:OpenFriendListPage()
  94. --self:UIHide(false)
  95. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIFriendList, nil, self.uiData.id)
  96. end
  97. function UIMainCity1View:OnClickExpeditionBtn()
  98. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIExpedition, false, self.uiData.id)
  99. end
  100. function UIMainCity1View:OpenClimbingTowerPage()
  101. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIClimbingTower,nil, self.uiData.id)
  102. end
  103. function UIMainCity1View:OpenSkillExpBattlePage()
  104. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UISkillExpBattle,nil, self.uiData.id)
  105. end
  106. function UIMainCity1View:OpenNoticeAndActivity()
  107. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UINotifyActivityTips)
  108. end
  109. function UIMainCity1View:OpenSignIn()
  110. --ManagerContainer.DataMgr.SignData:CSSignUpReq(1, Enum.UIPageName.UIMainCity1, function ()
  111. -- self:UIHide(false)
  112. --end);
  113. --ManagerContainer.NetManager:SendMessage(ProtoMsgId.CS_SIGN_UP_INFO_REQ)
  114. ManagerContainer.DataMgr.PetDataMgr:QueryPetRelation()
  115. end
  116. function UIMainCity1View:OpenPetRelation()
  117. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIPetRelations)
  118. end
  119. function UIMainCity1View:OnClickGuildBtn()
  120. local state = ManagerContainer.DataMgr.GuildDataMgr:GetGuildDataState()
  121. if state == Enum.GuildDataState.NoGuild then
  122. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIGuildRecommend, nil, self.uiData.id)
  123. elseif state == Enum.GuildDataState.HasGuild then
  124. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIGuildMain, nil, self.uiData.id)
  125. else
  126. local errorCode = ManagerContainer.DataMgr.GuildDataMgr:GetGuildDataStateErrorCode()
  127. if errorCode then
  128. ManagerContainer.LuaUIMgr:ErrorNoticeDisplay(errorCode)
  129. end
  130. end
  131. end
  132. function UIMainCity1View:OnClickSummonBtn()
  133. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UISummon, nil, self.uiData.id)
  134. end
  135. function UIMainCity1View:OnRedEnvelope()
  136. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIREShop, nil, self.uiData.id)
  137. end
  138. function UIMainCity1View:OnClickHundredDojoBtn()
  139. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIHundredDojo, nil, self.uiData.id)
  140. end
  141. function UIMainCity1View:OnClickKapulaBtn()
  142. local _nickName = ManagerContainer.DataMgr.UserData:GetOriUserNickname()
  143. if _nickName == "" or _nickName == nil or _nickName == "NickName" then
  144. ManagerContainer.LuaUIMgr:ErrorNoticeDisplay("ChangeName")
  145. return
  146. end
  147. ManagerContainer.DataMgr.UserData:SyncRoleDataToSDK()
  148. SDKMgr.Instance:OpenGM()
  149. end
  150. function UIMainCity1View:OnClickVoyageBtn()
  151. ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIVoyage, nil, self.uiData.id)
  152. end
  153. function UIMainCity1View:CloseInputMask()
  154. ManagerContainer.LuaUIMgr:CloseInputMask()
  155. end
  156. function UIMainCity1View:OnRedEnvelopeRemainTimeRefresh()
  157. local reActItem = ManagerContainer.DataMgr.ActsDataMgr:GetActivityItemById(Enum.ActivityType.ACTIVITY_TYPE_CASH_SHOP)
  158. local state = reActItem and reActItem:IsUnlocked() and reActItem:IsOpened() and not reActItem:IsOutofDate()
  159. if not state then
  160. if self.redEnvelope.activeSelf then
  161. self.redEnvelope:SetActive(false)
  162. end
  163. return
  164. end
  165. local leftSeconds = reActItem:LeftTime()
  166. if leftSeconds > 0 then
  167. if leftSeconds <= 60 then
  168. self.redEnvelope.text.text.text = I18N.T("LessOneMinu")
  169. else
  170. local time = DateTimeUtil.convertSeconds2TimeStr1(leftSeconds, true, false)
  171. self.redEnvelope.text.text.text = time
  172. end
  173. else
  174. if self.redEnvelope.activeSelf then
  175. self.redEnvelope:SetActive(false)
  176. end
  177. end
  178. end
  179. function UIMainCity1View:OnHide()
  180. end
  181. function UIMainCity1View:OnShow(data)
  182. self.controller:SetData(data)
  183. self:Init()
  184. end
  185. function UIMainCity1View:OnClose()
  186. end
  187. function UIMainCity1View:OnDispose()
  188. end
  189. return UIMainCity1View