KLCallSkillPanel.lua 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. ---@class KLCallSkillPanel:UIKmlLuaPanelBase
  2. ---@field view KLCallSkillPanelView
  3. local KLCallSkillPanel = class(UIKmlLuaPanelBase)
  4. local this =KLCallSkillPanel
  5. ---创建时调用一次
  6. function this:Init()
  7. self.skillData_all_item = {}
  8. self.skillData = {}
  9. local skills = SL:GetMetaValue(EMetaVarGetKey.GET_ME_ALL_SKILL)
  10. if skills then
  11. ---@param v Skill
  12. for i, v in pairs(skills) do
  13. if v.skillTbl.group == ESkillGroup.call then
  14. table.insert(self.skillData,v.skillId)
  15. end
  16. end
  17. end
  18. table.insert(self.skillData,0)
  19. end
  20. ---创建或者刷新界面数据时调用
  21. function this:Refresh()
  22. GUI:DataListInitData(self.view.callSkillList,function()
  23. return self:SkillDataListItemCountFunc()
  24. end,function(realIndex)
  25. return self:SkillDataListItemGetFunc(realIndex)
  26. end,function(realIndex, kmlcontrol)
  27. return self:SkillDataListItemInitFunc(realIndex, kmlcontrol)
  28. end, function(realIndex, kmlcontrol)
  29. return self:SkillDataListItemUpdateFunc(realIndex, kmlcontrol)
  30. end)
  31. GUI:DataListUpdateData(self.view.callSkillList)
  32. end
  33. ---注册UI事件和服务器消息
  34. function this:RegistEvents()
  35. GUI:AddOnClickEvent(self.view.closeBtn,self,self.CloseBtnOnClick)
  36. end
  37. function this:CloseBtnOnClick()
  38. GUI:UIPanel_Close("dev/ui/Setting/Panel/KLCallSkill/KLCallSkillPanel")
  39. end
  40. function this:SkillDataListItemCountFunc()
  41. return #self.skillData
  42. end
  43. function this:SkillDataListItemGetFunc(realIndex)
  44. local skillId = self.skillData[realIndex + 1]
  45. local item = GUI:UIPanel_Open("dev/ui/Setting/Item/KLSkill/KLSkillItem",self.view.callSkillList,self,skillId,true)
  46. self.skillData_all_item[item.view.root] = item
  47. return item.view.root
  48. end
  49. function this:SkillDataListItemInitFunc(realIndex, kmlcontrol)
  50. end
  51. function this:SkillDataListItemUpdateFunc(realIndex, kmlcontrol)
  52. local skillId = self.skillData[realIndex + 1]
  53. self.skillData_all_item[kmlcontrol]:RefreshItem(skillId)
  54. end
  55. function this:Close()
  56. end
  57. return this