KLUILeftUpPanel.lua 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524
  1. ---@class KLUILeftUpPanel:UIKmlLuaPanelBase
  2. ---@field view KLUILeftUpPanelView
  3. local KLUILeftUpPanel = class(UIKmlLuaPanelBase)
  4. local this =KLUILeftUpPanel
  5. ---创建时调用一次
  6. function this:Init()
  7. ---页签类型
  8. self.tabType = 1
  9. InfoManager.copActivityInfo.hideTask = false
  10. --GUI:Toggle_setIsOn(self.view.taskToggle,true)
  11. end
  12. ---创建或者刷新界面数据时调用
  13. function this:Refresh()
  14. SL:ReqTeamInfo()
  15. self:RefreshAtt()
  16. if not SL:IsMainUIBlockDisplayUI("KLTaskPanel") and not InfoManager.copActivityInfo.hideTask then
  17. GUI:UIPanel_Open("dev/ui/Task/Panel/KLTask/KLTaskPanel",self.view.tabObjRoot)
  18. end
  19. SL:SetMainUIBlockDisplayUI("KLUITeamMainPanel",true)
  20. SL:SetMainUIBlockDisplayUI("KLUITeamWindowPanel",true)
  21. SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_KING_ROAD_TASK_INFO)
  22. --:SetKingOfRoadData()
  23. end
  24. function this:RefreshAtt()
  25. local definse = SL:GetMetaValue("GET_ATTR_VALUE_BY_ID", EMUCharacterAttrType.armor)
  26. local baseCareer = SL:GetMetaValue(EMetaVarGetKey.JOB)
  27. local minAttack = 0
  28. local maxAttack = 0
  29. if baseCareer == 1 or baseCareer == 3 or baseCareer == 5 then
  30. minAttack = SL:GetMetaValue("GET_ATTR_VALUE_BY_ID", EMUCharacterAttrType.minDC)
  31. maxAttack = SL:GetMetaValue("GET_ATTR_VALUE_BY_ID", EMUCharacterAttrType.maxDC)
  32. else
  33. minAttack = SL:GetMetaValue("GET_ATTR_VALUE_BY_ID", EMUCharacterAttrType.minMC)
  34. maxAttack = SL:GetMetaValue("GET_ATTR_VALUE_BY_ID", EMUCharacterAttrType.maxMC)
  35. end
  36. --local num = (minAttack + maxAttack)/2
  37. ---策划需求改成最大攻击力
  38. local num = maxAttack
  39. num = Mathf.Floor(num)
  40. GUI:Text_setString(self.view.combat_power,tostring(num))
  41. GUI:Text_setString(self.view.defense,tostring(definse))
  42. end
  43. function this:LUA_EVENT_LEVELCHANGE()
  44. self:SetKingOfRoadVis()
  45. end
  46. function this:SetKingOfRoadData()
  47. self:SetKingOfRoadVis()
  48. if self.curChapter < 1 then
  49. return
  50. end
  51. local tbl = SL:GetConfig('cfg_king_road', self.curChapter)
  52. GUI:Item_setItemId(self.view.kingOfRoadItem, tbl.rewardItem[1])
  53. end
  54. function this:SetKingOfRoadVis()
  55. local level = SL:GetMetaValue("LEVEL")
  56. local needLevel = SL:GetConfig('cfg_king_road', 1).level
  57. if level < needLevel then
  58. GUI:setVisible(self.view.kingOfRoadIcon, false)
  59. else
  60. if self.curChapter == -1 then
  61. GUI:setVisible(self.view.kingOfRoadIcon, false)
  62. else
  63. GUI:setVisible(self.view.kingOfRoadIcon, true)
  64. end
  65. end
  66. end
  67. ---注册UI事件和服务器消息
  68. function this:RegistEvents()
  69. SL:RegisterLUAEvent(LUA_EVENT_ROLE_PROPERTY_CHANGE,self.RefreshAtt,self)
  70. SL:RegisterLUAEvent(LUA_EVENT_LEVELCHANGE,self.LUA_EVENT_LEVELCHANGE,self)
  71. SL:RegisterLUAEvent(LUA_EVENT_SHOW_TASK,self.LUA_EVENT_SHOW_TASK,self)
  72. SL:RegisterLuaNetMsg(LuaMessageIdToClient.DEVIL_SQUARE_STATE,self.DEVIL_SQUARE_STATE,self)
  73. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_BLOODY_CASTLE_STATE_UPDATE,self.RES_BLOODY_CASTLE_STATE_UPDATE,self)
  74. SL:RegisterLuaNetMsg(LuaMessageIdToClient.BRAVE_TEST_STATE,self.BRAVE_TEST_STATE,self)
  75. SL:RegisterLuaNetMsg(LuaMessageIdToClient.COMBO_TEST_STATE,self.COMBO_TEST_STATE,self)
  76. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_QUIT_DUPLICATE,self.RES_QUIT_SUCCESS,self)
  77. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_QUIT_SECRET_REALM,self.RES_QUIT_SECRET_REALM,self)
  78. SL:RegisterLuaNetMsg(LuaMessageIdToClient.AFTER_ENTER_SECRET_REALM,self.AFTER_ENTER_SECRET_REALM,self)
  79. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_PRIVILEGE_BOSS_STATUS,self.RES_PRIVILEGE_BOSS_STATUS,self)
  80. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_BIG_SECRET_REALM_TASK_UPDATE,self.RES_BIG_SECRET_REALM_TASK_UPDATE,self)
  81. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_ENTER_BIG_SECRET_REALM,self.RES_ENTER_BIG_SECRET_REALM,self)
  82. GUI:SetToggleOnValueChange(self.view.taskToggle,self,self.OnClickTaskToggle)
  83. GUI:SetToggleOnValueChange(self.view.teamToggle,self,self.OnClickTeamToggle)
  84. GUI:AddOnClickEvent(self.view.expandBtn,self,self.OnClickFoldToggle,true)
  85. GUI:AddOnClickEvent(self.view.foldBtn,self,self.OnClickFoldToggle,false)
  86. GUI:AddOnClickEvent(self.view.kingOfRoadIcon, self, self.kingOfRoadIconOnClick)
  87. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_KING_ROAD_TASK_CHANGE, self.RES_KING_ROAD_TASK_CHANGE, self)
  88. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_KING_ROAD_TASK_INFO, self.ResKingRoadTaskInfo, self)
  89. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_RED_FORTRESS_STATE_UPDATE, self.RES_RED_FORTRESS_STATE_UPDATE, self)
  90. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_KUN_DUN_PANEL_INFO, self.RES_KUN_DUN_PANEL_INFO, self)
  91. SL:RegisterLuaNetMsg(LuaMessageIdToClient.RES_WOLF_SOUL_STATE , self.RES_WOLF_SOUL_STATE , self)
  92. SL:RegisterLUAEvent(LUA_EVENT_ROLAND_SIEGE_STATE_INFO_CHANGE, self.LUA_EVENT_ROLAND_SIEGE_STATE_INFO_CHANGE , self)
  93. SL:RegisterLUAEvent(LUA_EVENT_ROLAND_SIEGE_TASK_INFO_CHANGE, self.LUA_EVENT_ROLAND_SIEGE_TASK_INFO_CHANGE , self)
  94. end
  95. function this:RES_QUIT_SUCCESS(id,message)
  96. SL:SetMainUIBlockDisplayUI("KLTaskPanel",false)
  97. GUI:Toggle_setIsOn(self.view.taskToggle,true)
  98. end
  99. function this:RES_QUIT_SECRET_REALM(id, message)
  100. SL:SetMainUIBlockDisplayUI("KLTaskPanel",false)
  101. GUI:Toggle_setIsOn(self.view.taskToggle,true)
  102. end
  103. function this:ResKingRoadTaskInfo(_, message)
  104. local curChapter = message.now_chapter
  105. self.curChapter = curChapter
  106. if curChapter <= 0 then
  107. GUI:SetActive(self.view.kingOfRoadIcon, false)
  108. return
  109. end
  110. self:SetKingOfRoadData()
  111. local taskInfo = message.chapter_task_info[tostring(curChapter)].task_info
  112. local curCount = 0
  113. local canAccept = false
  114. local allFinish = true
  115. for _, task in pairs(taskInfo) do
  116. if task.state ~= 3 then
  117. allFinish = false
  118. end
  119. if task.state == 3 then
  120. curCount = curCount + 1
  121. end
  122. if task.state == 2 then
  123. canAccept = true
  124. end
  125. end
  126. local totalCount = table.count(taskInfo)
  127. GUI:Text_setString(self.view.count, string.format("(%d/%d)",curCount, totalCount))
  128. if canAccept or allFinish then
  129. GUI:SetActive(self.view.effect_tishi, true)
  130. else
  131. GUI:SetActive(self.view.effect_tishi, false)
  132. end
  133. end
  134. -- 需求变化 简单处理下
  135. function this:RES_KING_ROAD_TASK_CHANGE(_, message)
  136. SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_KING_ROAD_TASK_INFO)
  137. --local curChapter = message.now_chapter
  138. --local taskInfo = message.chapter_task_info[tostring(curChapter)].task_info
  139. --local curCount = 0
  140. --for _, task in pairs(taskInfo) do
  141. -- if task.state == 3 then
  142. -- curCount = curCount + 1
  143. -- end
  144. --end
  145. --
  146. --local totalCount = table.count(taskInfo)
  147. --GUI:Text_setString(self.view.count, string.format("(%d/%d)",curCount, totalCount))
  148. --self.curChapter = curChapter
  149. --self:SetKingOfRoadData()
  150. end
  151. function this:kingOfRoadIconOnClick()
  152. GUI:UIPanel_Open("dev/outui/Task/Panel/KLKingOfRoad/KLKingOfRoadPanel")
  153. SL.HideMainPanel()
  154. end
  155. function this:DEVIL_SQUARE_STATE(id,message)
  156. InfoManager.copActivityInfo.hideTask = true
  157. local panel = GUI:GetUI("dev/outui/Activity/Panel/KLDevilCopyTaskProgress/KLDevilCopyTaskProgressPanel")
  158. if not panel then
  159. panel = GUI:UIPanel_Open("dev/outui/Activity/Panel/KLDevilCopyTaskProgress/KLDevilCopyTaskProgressPanel",self.view.tabObjRoot,nil,message)
  160. end
  161. GUI:Toggle_setIsOn(self.view.taskToggle,true)
  162. --关闭任务页面
  163. GUI:UIPanel_Close("dev/ui/Task/Panel/KLTask/KLTaskPanel")
  164. end
  165. function this:RES_BLOODY_CASTLE_STATE_UPDATE(id,message)
  166. InfoManager.copActivityInfo.hideTask = true
  167. local panel = GUI:GetUI("dev/outui/Activity/Panel/KLBloodCopyTaskProgress/KLBloodCopyTaskProgressPanel")
  168. if not panel then
  169. panel = GUI:UIPanel_Open("dev/outui/Activity/Panel/KLBloodCopyTaskProgress/KLBloodCopyTaskProgressPanel",self.view.tabObjRoot,nil,message)
  170. end
  171. GUI:Toggle_setIsOn(self.view.taskToggle,true)
  172. --关闭任务页面
  173. GUI:UIPanel_Close("dev/ui/Task/Panel/KLTask/KLTaskPanel")
  174. end
  175. function this:BRAVE_TEST_STATE(id, message)
  176. InfoManager.copActivityInfo.hideTask = true
  177. ---@type KLBraveTrialsWindowPanel
  178. local panel = GUI:GetUI("dev/outui/BraveTrials/Panel/KLBraveTrialsWindow/KLBraveTrialsWindowPanel")
  179. if not panel then
  180. GUI:UIPanel_Open("dev/outui/BraveTrials/Panel/KLBraveTrialsWindow/KLBraveTrialsWindowPanel",self.view.tabObjRoot,nil,message)
  181. else
  182. panel:RefreshBraveState(message)
  183. end
  184. GUI:Toggle_setIsOn(self.view.taskToggle,true)
  185. GUI:UIPanel_Close("dev/ui/Task/Panel/KLTask/KLTaskPanel")
  186. GUI:UIPanel_Close("dev/ui/Team/Panel/KLUITeamMain/KLUITeamMainPanel")
  187. end
  188. function this:COMBO_TEST_STATE(id, message)
  189. InfoManager.copActivityInfo.hideTask = true
  190. ---@type KLActivityComboProgressPanel
  191. local panel = GUI:GetUI("dev/outui/Activity/Panel/KLActivityComboProgress/KLActivityComboProgressPanel")
  192. if not panel then
  193. GUI:UIPanel_Open("dev/outui/Activity/Panel/KLActivityComboProgress/KLActivityComboProgressPanel",self.view.tabObjRoot,nil,message)
  194. else
  195. panel:RefreshComboState(message)
  196. end
  197. GUI:Toggle_setIsOn(self.view.taskToggle,true)
  198. GUI:UIPanel_Close("dev/ui/Task/Panel/KLTask/KLTaskPanel")
  199. GUI:UIPanel_Close("dev/ui/Team/Panel/KLUITeamMain/KLUITeamMainPanel")
  200. end
  201. function this:LUA_EVENT_SHOW_TASK()
  202. self:Refresh()
  203. end
  204. ---秘境副本界面
  205. function this:AFTER_ENTER_SECRET_REALM(id, message)
  206. InfoManager.copActivityInfo.hideTask = true
  207. SL:KeepOpenPanel("KLChallengeBossPosPanel",true)
  208. local panel = GUI:GetUI("dev/outui/ChallengeBoss/Panel/KLChallengeBossPos/KLChallengeBossPosPanel")
  209. if not panel then
  210. panel = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Panel/KLChallengeBossPos/KLChallengeBossPosPanel",self.view.tabObjRoot,nil)
  211. end
  212. panel:InitData(message)
  213. GUI:Toggle_setIsOn(self.view.taskToggle,true)
  214. GUI:UIPanel_Close("dev/ui/Task/Panel/KLTask/KLTaskPanel")
  215. GUI:UIPanel_Close("dev/ui/Team/Panel/KLUITeamMain/KLUITeamMainPanel")
  216. end
  217. function this:RES_PRIVILEGE_BOSS_STATUS(id, message)
  218. InfoManager.copActivityInfo.hideTask = true
  219. SL:KeepOpenPanel("KLPrivilegeBossPosPanel",true)
  220. local panel = GUI:GetUI("dev/outui/ChallengeBoss/Panel/KLPrivilegeBossPos/KLPrivilegeBossPosPanel")
  221. if not panel then
  222. panel = GUI:UIPanel_Open("dev/outui/ChallengeBoss/Panel/KLPrivilegeBossPos/KLPrivilegeBossPosPanel",self.view.tabObjRoot,nil)
  223. end
  224. panel:InitData(message)
  225. GUI:Toggle_setIsOn(self.view.taskToggle,true)
  226. GUI:UIPanel_Close("dev/ui/Task/Panel/KLTask/KLTaskPanel")
  227. GUI:UIPanel_Close("dev/ui/Team/Panel/KLUITeamMain/KLUITeamMainPanel")
  228. end
  229. --大天使秘境进入副本响应
  230. function this:RES_ENTER_BIG_SECRET_REALM(id, message)
  231. InfoManager.copActivityInfo.hideTask = true
  232. SL:KeepOpenPanel("KLBigSecretCopyTaskPanel",true)
  233. local panel = GUI:GetUI("dev/outui/BigSecretCopy/Panel/KLBigSecretCopyTask/KLBigSecretCopyTaskPanel")
  234. if not panel then
  235. panel = GUI:UIPanel_Open("dev/outui/BigSecretCopy/Panel/KLBigSecretCopyTask/KLBigSecretCopyTaskPanel",self.view.tabObjRoot,nil)
  236. end
  237. panel:InitBegin(message)
  238. GUI:Toggle_setIsOn(self.view.taskToggle,true)
  239. GUI:UIPanel_Close("dev/ui/Task/Panel/KLTask/KLTaskPanel")
  240. GUI:UIPanel_Close("dev/ui/Team/Panel/KLUITeamMain/KLUITeamMainPanel")
  241. end
  242. --大天使秘境任务更新相应
  243. function this:RES_BIG_SECRET_REALM_TASK_UPDATE(id, message)
  244. InfoManager.copActivityInfo.hideTask = true
  245. SL:KeepOpenPanel("KLBigSecretCopyTaskPanel",true)
  246. local panel = GUI:GetUI("dev/outui/BigSecretCopy/Panel/KLBigSecretCopyTask/KLBigSecretCopyTaskPanel")
  247. if not panel then
  248. panel = GUI:UIPanel_Open("dev/outui/BigSecretCopy/Panel/KLBigSecretCopyTask/KLBigSecretCopyTaskPanel",self.view.tabObjRoot,nil)
  249. end
  250. panel:InitData(message)
  251. GUI:Toggle_setIsOn(self.view.taskToggle,true)
  252. GUI:UIPanel_Close("dev/ui/Task/Panel/KLTask/KLTaskPanel")
  253. GUI:UIPanel_Close("dev/ui/Team/Panel/KLUITeamMain/KLUITeamMainPanel")
  254. end
  255. ---赤色要塞
  256. function this:RES_RED_FORTRESS_STATE_UPDATE(id, message)
  257. InfoManager.copActivityInfo.hideTask = true
  258. ---@type KLRedFortTaskPanel
  259. local panel = GUI:GetUI("dev/outui/Activity/Panel/KLRedFortTask/KLRedFortTaskPanel")
  260. local CounterPanel = GUI:GetUI("dev/outui/Activity/Panel/KLRedFortCounter/KLRedFortCounterPanel")
  261. if not panel then
  262. panel = GUI:UIPanel_Open("dev/outui/Activity/Panel/KLRedFortTask/KLRedFortTaskPanel",self.view.tabObjRoot,nil)
  263. CounterPanel = GUI:UIPanel_Open("dev/outui/Activity/Panel/KLRedFortCounter/KLRedFortCounterPanel")
  264. end
  265. panel:InitData(message)
  266. self:SetTeamToogleEnabled(false)
  267. --CounterPanel:InitData(message)
  268. GUI:Toggle_setIsOn(self.view.taskToggle,true)
  269. --关闭任务页面
  270. GUI:UIPanel_Close("dev/ui/Task/Panel/KLTask/KLTaskPanel")
  271. end
  272. --昆顿入侵
  273. function this:RES_KUN_DUN_PANEL_INFO(id, message)
  274. InfoManager.copActivityInfo.hideTeam = true
  275. --排行
  276. ---@type KLQuintonInvasionRankListPanel
  277. local panel = GUI:GetUI("dev/outui/Activity/Panel/KLQuintonInvasionRankList/KLQuintonInvasionRankListPanel")
  278. if not panel then
  279. panel = GUI:UIPanel_Open("dev/outui/Activity/Panel/KLQuintonInvasionRankList/KLQuintonInvasionRankListPanel",self.view.tabObjRoot)
  280. end
  281. InfoManager.kundunInfo:SetRankList(message)
  282. GUI:UIPanel_Close("dev/ui/Team/Panel/KLUITeamWindow/KLUITeamWindowPanel")
  283. if panel then
  284. panel:SetVisible(self.tabType == 2)
  285. panel:SetData(message)
  286. end
  287. --任务
  288. InfoManager.copActivityInfo.hideTask = true
  289. local panel = GUI:GetUI("dev/outui/Activity/Panel/KLQuintonInvasionTaskProgress/KLQuintonInvasionTaskProgressPanel")
  290. if not panel then
  291. panel = GUI:UIPanel_Open("dev/outui/Activity/Panel/KLQuintonInvasionTaskProgress/KLQuintonInvasionTaskProgressPanel",self.view.tabObjRoot)
  292. end
  293. --关闭任务页面
  294. GUI:UIPanel_Close("dev/ui/Task/Panel/KLTask/KLTaskPanel")
  295. if panel then
  296. panel:SetVisible(self.tabType == 1)
  297. panel:SetData(message)
  298. end
  299. end
  300. ---狼魂要塞
  301. function this:RES_WOLF_SOUL_STATE (id, message)
  302. InfoManager.copActivityInfo.hideTask = true
  303. ---@type KLWolfSoulFortressTaskPanel
  304. local panel = GUI:GetUI("dev/outui/Activity/Panel/KLWolfSoulFortressTask/KLWolfSoulFortressTaskPanel")
  305. if not panel then
  306. panel = GUI:UIPanel_Open("dev/outui/Activity/Panel/KLWolfSoulFortressTask/KLWolfSoulFortressTaskPanel",self.view.tabObjRoot,nil)
  307. end
  308. panel:InitData(message)
  309. self:SetTeamToogleEnabled(false)
  310. GUI:Toggle_setIsOn(self.view.taskToggle,true)
  311. --关闭任务页面
  312. GUI:UIPanel_Close("dev/ui/Task/Panel/KLTask/KLTaskPanel")
  313. end
  314. ---罗兰攻城战阶段信息变动
  315. function this:LUA_EVENT_ROLAND_SIEGE_STATE_INFO_CHANGE()
  316. InfoManager.copActivityInfo.hideTask = true
  317. ---@type KLLoranSiegeCopyTaskPanel
  318. local panel = GUI:GetUI("dev/outui/LoranSiege/Panel/KLLoranSiegeCopyTask/KLLoranSiegeCopyTaskPanel")
  319. if not panel then
  320. GUI:UIPanel_Open("dev/outui/LoranSiege/Panel/KLLoranSiegeCopyTask/KLLoranSiegeCopyTaskPanel",self.view.tabObjRoot)
  321. end
  322. --关闭任务页面
  323. ---@type KLTaskPanel
  324. local taskPanel = GUI:GetUI("dev/ui/Task/Panel/KLTask/KLTaskPanel")
  325. if taskPanel then
  326. self:SetTeamToogleEnabled(false)
  327. GUI:Toggle_setIsOn(self.view.taskToggle,true)
  328. GUI:UIPanel_Close("dev/ui/Task/Panel/KLTask/KLTaskPanel")
  329. GUI:UIPanel_Close("dev/ui/Team/Panel/KLUITeamMain/KLUITeamMainPanel")
  330. end
  331. end
  332. ---罗兰攻城战任务信息变动
  333. function this:LUA_EVENT_ROLAND_SIEGE_TASK_INFO_CHANGE()
  334. self:LUA_EVENT_ROLAND_SIEGE_STATE_INFO_CHANGE()
  335. end
  336. function this:OnClickTaskToggle(control,eventData,value)
  337. if value[1] then
  338. self.tabType = 1
  339. if not InfoManager.copActivityInfo.hideTask then
  340. --打开任务页面
  341. GUI:UIPanel_Open("dev/ui/Task/Panel/KLTask/KLTaskPanel",self.view.tabObjRoot)
  342. SL:SetMainUIBlockDisplayUI("KLTaskPanel",false)
  343. end
  344. if self.curTaskPanel then
  345. GUI:setVisible(self.curTaskPanel.view.root,true)
  346. end
  347. else
  348. --关闭任务页面
  349. GUI:UIPanel_Close("dev/ui/Task/Panel/KLTask/KLTaskPanel")
  350. SL:SetMainUIBlockDisplayUI("KLTaskPanel",true)
  351. if self.curTaskPanel then
  352. GUI:setVisible(self.curTaskPanel.view.root,false)
  353. end
  354. end
  355. ---@type KLDevilCopyTaskProgressPanel
  356. local panel = GUI:GetUI("dev/outui/Activity/Panel/KLDevilCopyTaskProgress/KLDevilCopyTaskProgressPanel")
  357. if panel then
  358. panel:SetVisible(value[1])
  359. end
  360. ---@type KLBloodCopyTaskProgressPanel
  361. local panel = GUI:GetUI("dev/outui/Activity/Panel/KLBloodCopyTaskProgress/KLBloodCopyTaskProgressPanel")
  362. if panel then
  363. panel:SetVisible(value[1])
  364. end
  365. ---@type KLBraveTrialsWindowPanel
  366. local panel = GUI:GetUI("dev/outui/BraveTrials/Panel/KLBraveTrialsWindow/KLBraveTrialsWindowPanel")
  367. if panel then
  368. panel:SetVisible(value[1])
  369. end
  370. ---@type KLActivityComboProgressPanel
  371. local panel = GUI:GetUI("dev/outui/Activity/Panel/KLActivityComboProgress/KLActivityComboProgressPanel")
  372. if panel then
  373. panel:SetVisible(value[1])
  374. end
  375. ---@type KLChallengeBossPosPanel
  376. local ChallengeBossPosPanel = GUI:GetUI("dev/outui/ChallengeBoss/Panel/KLChallengeBossPos/KLChallengeBossPosPanel")
  377. if ChallengeBossPosPanel then
  378. ChallengeBossPosPanel:SetVisible(value[1])
  379. end
  380. ---@type KLPrivilegeBossPosPanel
  381. local PrivilegeBossPosPanel = GUI:GetUI("dev/outui/ChallengeBoss/Panel/KLPrivilegeBossPos/KLPrivilegeBossPosPanel")
  382. if PrivilegeBossPosPanel then
  383. PrivilegeBossPosPanel:SetVisible(value[1])
  384. end
  385. ---@type KLBigSecretCopyTaskPanel
  386. local BigSecretCopyTaskPanel = GUI:GetUI("dev/outui/BigSecretCopy/Panel/KLBigSecretCopyTask/KLBigSecretCopyTaskPanel")
  387. if BigSecretCopyTaskPanel then
  388. BigSecretCopyTaskPanel:SetVisible(value[1])
  389. end
  390. ---@type KLLoranSiegeCopyTaskPanel
  391. local LoranSiegeCopyTaskPanel = GUI:GetUI("dev/outui/LoranSiege/Panel/KLLoranSiegeCopyTask/KLLoranSiegeCopyTaskPanel")
  392. if LoranSiegeCopyTaskPanel then
  393. LoranSiegeCopyTaskPanel:SetVisible(value[1])
  394. end
  395. ---@type KLQuintonInvasionTaskProgressPanel
  396. local panel = GUI:GetUI("dev/outui/Activity/Panel/KLQuintonInvasionTaskProgress/KLQuintonInvasionTaskProgressPanel")
  397. if panel then
  398. panel:SetVisible(value[1])
  399. end
  400. end
  401. function this:OnClickTeamToggle(control,eventData,value)
  402. if value[1] then
  403. if not InfoManager.copActivityInfo.hideTeam then
  404. --打开组队页面
  405. if self.tabType == 2 then
  406. GUI:UIPanel_Open("dev/ui/Team/Panel/KLUITeamMain/KLUITeamMainPanel",_,_,{panelType = 1})
  407. SL:SetMainUIBlockDisplayUI("KLUITeamMainPanel",false)
  408. return
  409. end
  410. self.tabType = 2
  411. GUI:UIPanel_Open("dev/ui/Team/Panel/KLUITeamWindow/KLUITeamWindowPanel",self.view.tabObjRoot)
  412. SL:SetMainUIBlockDisplayUI("KLUITeamWindowPanel",false)
  413. else
  414. self.tabType = 2
  415. end
  416. else
  417. --关闭组队页面
  418. GUI:UIPanel_Close("dev/ui/Team/Panel/KLUITeamWindow/KLUITeamWindowPanel")
  419. SL:SetMainUIBlockDisplayUI("KLUITeamMainPanel",true)
  420. SL:SetMainUIBlockDisplayUI("KLUITeamWindowPanel",true)
  421. end
  422. ---@type KLQuintonInvasionRankListPanel
  423. local panel = GUI:GetUI("dev/outui/Activity/Panel/KLQuintonInvasionRankList/KLQuintonInvasionRankListPanel")
  424. if panel then
  425. panel:SetVisible(value[1])
  426. end
  427. end
  428. function this:OnClickFoldToggle(control,eventData,value)
  429. if eventData then
  430. GUI:SetControl_moveto(self.view.activityRoot,"-55,-140,0")
  431. GUI:SetControl_moveto(self.view.tabObjRoot,"593,-298,0")
  432. else
  433. GUI:SetControl_moveto(self.view.activityRoot,"-472,-140,0")
  434. GUI:SetControl_moveto(self.view.tabObjRoot,"0,-298,0")
  435. end
  436. GUI:setVisible(self.view.expandBtn,not eventData)
  437. GUI:setVisible(self.view.foldBtn,eventData)
  438. end
  439. function this:Close()
  440. InfoManager.copActivityInfo.hideTask = false
  441. end
  442. ---@param panel UIKmlLuaPanelBase
  443. function this:HookTaskPanel(panel)
  444. if panel then
  445. if self.curTaskPanel and self.curTaskPanel ~= panel then
  446. GUI:UIPanel_Close(nil,self.curTaskPanel)
  447. end
  448. GUI:Toggle_setIsOn(self.view.taskToggle,true)
  449. --关闭任务页面
  450. GUI:UIPanel_Close("dev/ui/Task/Panel/KLTask/KLTaskPanel")
  451. ---@type UIKmlLuaPanelBase
  452. self.curTaskPanel = panel
  453. GUI:SetParent(panel.view.root,GUI:GetRectTransform(self.view.tabObjRoot))
  454. InfoManager.copActivityInfo.hideTask = true
  455. else
  456. GUI:UIPanel_Open("dev/ui/Task/Panel/KLTask/KLTaskPanel",self.view.tabObjRoot)
  457. self.curTaskPanel = nil
  458. InfoManager.copActivityInfo.hideTask = false
  459. end
  460. end
  461. function this:SetTeamToogleEnabled(isEnabled)
  462. GUI:setTouchEnabled(self.view.teamToggle,isEnabled)
  463. end
  464. return this