KLUISkillPageItem.lua 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. ---@class KLUISkillPageItem:UIKmlLuaPanelBase
  2. ---@field view KLUISkillPageItemView
  3. ---@field baseUI KLUISkillInfoPanel
  4. local KLUISkillPageItem = class(UIKmlLuaPanelBase)
  5. local this = KLUISkillPageItem
  6. ---创建时调用一次
  7. function this:Init()
  8. GUI:DataListInitData(self.view.skillItemGrid, function()
  9. return self:ItemCountFunc()
  10. end, function(realIndex)
  11. return self:ItemGetFunc(realIndex)
  12. end, function(realIndex, kmlCtrl)
  13. return self:ItemInitFunc(realIndex, kmlCtrl)
  14. end, function(realIndex, kmlCtrl)
  15. return self:ItemUpdateFunc(realIndex, kmlCtrl)
  16. end)
  17. ---@type table<KingML.KmlControl,KLUISkillItem>
  18. self.skillItems = {}
  19. end
  20. function this:ItemCountFunc()
  21. return #self.skillListData
  22. end
  23. function this:ItemGetFunc()
  24. ---@type KLUISkillItem
  25. local item = GUI:UIPanel_Open("dev/ui/Skill/Item/KLUISkill/KLUISkillItem", self.view.skillItemGrid, self, nil, true)
  26. local kmlCtrl = item.view.root
  27. self.skillItems[kmlCtrl] = item
  28. return kmlCtrl
  29. end
  30. function this:ItemInitFunc()
  31. end
  32. ---@param kmlCtrl KingML.KmlControl
  33. function this:ItemUpdateFunc(realIndex, kmlCtrl)
  34. local item = self.skillItems[kmlCtrl]
  35. local luaIndex = realIndex + 1
  36. item:UpdateUI(self.skillListData[luaIndex], luaIndex)
  37. end
  38. ---创建或者刷新界面数据时调用
  39. function this:Refresh()
  40. end
  41. ---@param skillList number[]
  42. function this:UpdateUI(skillList)
  43. self.skillListData = skillList
  44. GUI:DataListUpdateData(self.view.skillItemGrid)
  45. end
  46. ---注册UI事件和服务器消息
  47. function this:RegistEvents()
  48. end
  49. function this:Close()
  50. end
  51. return this