KLQuintonInvasionPanel.lua 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. ---@class KLQuintonInvasionPanel:UIKmlLuaPanelBase
  2. ---@field view KLQuintonInvasionPanelView
  3. local KLQuintonInvasionPanel = class(UIKmlLuaPanelBase)
  4. local this =KLQuintonInvasionPanel
  5. function this:AsyncLoadUI()
  6. end
  7. ---创建时调用一次
  8. function this:Init()
  9. SL:SetCampNameList({"苍狼阵营","巨龙阵营","猎鹰阵营"})
  10. self.reward_all_item = {}
  11. GUI:DataListInitData(self.view.rewardList,function()
  12. return self:RewardDataListItemCountFunc()
  13. end,function(realIndex)
  14. return self:RewardDataListItemGetFunc(realIndex)
  15. end,function(realIndex, kmlcontrol)
  16. return self:RewardDataListItemInitFunc(realIndex, kmlcontrol)
  17. end, function(realIndex, kmlcontrol)
  18. return self:RewardDataListItemUpdateFunc(realIndex, kmlcontrol)
  19. end)
  20. end
  21. ---注册UI事件和服务器消息
  22. function this:RegistEvents()
  23. GUI:AddOnClickEvent(self.view.enterBtn,self,self.OnCliCkEnterBtn)
  24. GUI:AddOnClickEvent(self.view.rewardBtn,self,self.OnCliCkRewardBtn)
  25. GUI:AddOnClickEvent(self.view.shopBtn,self,self.OnCliCkShopBtn)
  26. end
  27. function this:OnCliCkEnterBtn()
  28. local cond, message = InfoManager.godsDescendInfo.CheckActivityConditionMapId(21001)
  29. if cond then
  30. SL:SendLuaNetMsg(LuaMessageIdToSever.REQ_GOTO_CROSS_MAP,{})
  31. else
  32. SL:TipMessage(message, 1, NoticeType.NoticeMid)
  33. end
  34. end
  35. function this:OnCliCkRewardBtn()
  36. GUI:UIPanel_Open("dev/outui/Activity/Panel/KLQuintonInvasionReward/KLQuintonInvasionRewardPanel",nil,nil,2012)
  37. end
  38. function this:OnCliCkShopBtn()
  39. GUI:UIPanel_Open("dev/ui/ShopMall/Panel/KLShopMall/KLShopMallPanel",nil,nil,2012)
  40. GUI:UIPanel_Close("dev/outui/CrossServer/Panel/KLCrossServerMain/KLCrossServerPanel")
  41. SL.HideMainPanel()
  42. end
  43. ---界面显示时调用一次
  44. function this:Show()
  45. end
  46. ---创建或者刷新界面数据时调用
  47. function this:Refresh()
  48. ---@type cfg_activity_rule_column
  49. local tab = SL:GetConfig("cfg_activity_rule",21001)
  50. local tbl = SL:GetConfig("cfg_map_info", tab.mapid[1])
  51. local needLevel = tbl.condition[1]
  52. local needStrengthLevel = tbl.condition[2]
  53. local needAttachLevel = tbl.condition[3]
  54. local level = SL:GetMetaValue(EMetaVarGetKey.LEVEL)
  55. local strengthLevel = SL:GetMetaValue(EMetaVarGetKey.GET_STRENGTH_ADD_ATTRIBUTE,EForgeGroupType.Strength)
  56. local addLevel = SL:GetMetaValue(EMetaVarGetKey.GET_STRENGTH_ADD_ATTRIBUTE,EForgeGroupType.Add)
  57. local des = GUIUtil.GetColorText("等级".. needLevel,level>=needLevel and "#1add1f" or "#ff2323")
  58. des = des.. "\n" .. GUIUtil.GetColorText("强化总等级"..needStrengthLevel.."级",strengthLevel>=needStrengthLevel and "#1add1f" or "#ff2323")
  59. des = des.. " " .. GUIUtil.GetColorText("追加总等级"..needAttachLevel.."级",addLevel>=needAttachLevel and "#1add1f" or "#ff2323")
  60. GUI:Text_setString(self.view.enterTimeDes,tab.timeText)
  61. GUI:Text_setString(self.view.activity_des,tab.uiTextRule)
  62. GUI:Text_setString(self.view.enterLevel,des)
  63. self:RefreshReward()
  64. end
  65. function this:RefreshReward()
  66. ---@type cfg_rep_column
  67. local tbl = SL:GetConfig("cfg_rep",21001,"id")
  68. self.rewardData = tbl.UIreward
  69. GUI:DataListUpdateData(self.view.rewardList)
  70. end
  71. function this:RewardDataListItemCountFunc()
  72. return #self.rewardData
  73. end
  74. function this:RewardDataListItemGetFunc(realIndex)
  75. local data = self.rewardData[realIndex + 1]
  76. local message = {cfgId = data[1],count="",width = 65,height=65}
  77. local item = GUI:UIPanel_Open("dev/outui/Activity/Item/KLItem/KLItemItem",self.view.rewardList,self,message,true)
  78. self.reward_all_item[item.view.root] = item
  79. return item.view.root
  80. end
  81. function this:RewardDataListItemInitFunc(realIndex, kmlcontrol)
  82. end
  83. function this:RewardDataListItemUpdateFunc(realIndex, kmlcontrol)
  84. local data = self.rewardData[realIndex + 1]
  85. self.reward_all_item[kmlcontrol]:RefreshItem(data[1],"")
  86. end
  87. function this:Close()
  88. end
  89. return this