KLGodDescentMonsterItem.lua 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. ---@class KLGodDescentMonsterItem:UIKmlLuaPanelBase
  2. ---@field view KLGodDescentMonsterItemView
  3. local KLGodDescentMonsterItem = class(UIKmlLuaPanelBase)
  4. local this =KLGodDescentMonsterItem
  5. ---创建时调用一次
  6. function this:Init()
  7. local monsterId = self.args.id
  8. self.monsterId = tostring(monsterId)
  9. self.cfgId = self.args.cfgId
  10. ---@type cfg_monster_column
  11. local tbl = SL:GetConfig('cfg_monster', monsterId)
  12. GUI:Text_setString(self.view.txt_Name, tbl.name)
  13. local pic = self.args.pic
  14. GUI:Image_loadTexture(self.view.img_info, pic, "Atlas/KLCrossServer.spriteatlas")
  15. self:UpdateMonsterData()
  16. end
  17. --刷新数据
  18. function this:UpdateMonsterData()
  19. local datas = InfoManager.godsDescendInfo.GetMonsterInfosByCfgId(self.monsterId)
  20. if not datas then
  21. datas = {}
  22. end
  23. GUI:Text_setString(self.view.txt_Status, "<color=#FF2323>未刷新</color>")
  24. GUI:Text_setString(self.view.txt_Status2, "<color=#FF2323>未刷新</color>")
  25. local index = 1
  26. local allKilled = true
  27. ---@param data {id:number, cfgid:number, name:string, state:number, ownerid:number, ownername:string}
  28. for _, data in pairs(datas) do
  29. local view = index == 1 and self.view.txt_Status or self.view.txt_Status2
  30. if data.ownername and not string.isNullOrEmpty(data.ownername) then
  31. GUI:Text_setString(view, string.format("<color=#1ADD1F>%s</color>", data.ownername))
  32. else
  33. GUI:Text_setString(view, "<color=#FF2323>无归属</color>")
  34. end
  35. if data.state ~= 2 then
  36. --已死亡
  37. allKilled = false
  38. end
  39. index = index + 1
  40. end
  41. GUI:setVisible(self.view.img_kill, allKilled and table.count(datas) > 0)
  42. end
  43. ---注册UI事件和服务器消息
  44. function this:RegistEvents()
  45. end
  46. ---界面显示时调用一次
  47. function this:Show()
  48. end
  49. ---创建或者刷新界面数据时调用
  50. function this:Refresh()
  51. end
  52. function this:Close()
  53. end
  54. return this