KLMonsterMapPointItemItem.lua 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. ---@class KLMonsterMapPointItemItem:UIKmlLuaPanelBase
  2. ---@field view KLMonsterMapPointItemItemView
  3. local KLMonsterMapPointItemItem = class(UIKmlLuaPanelBase)
  4. local this =KLMonsterMapPointItemItem
  5. ---创建时调用一次
  6. function this:Init()
  7. end
  8. ---创建或者刷新界面数据时调用
  9. function this:Refresh()
  10. end
  11. function this:UpdateUI(data,OnClick,isSelect,luaIndex)
  12. ---@type MapProtos.MonsterStatus
  13. self.data= data
  14. self.Onclick=OnClick
  15. self.isSelect=isSelect
  16. self.luaIndex=luaIndex
  17. ---@type cfg_monster_column
  18. local monsterData=SL:GetConfig("cfg_monster",data.monsterid)
  19. local str = " <color=#FFB837>"..monsterData.name .." Lv." .. monsterData.level .."</color>"
  20. GUI:Text_setString(self.view.MonsterName,str)
  21. if self.data.reliveTime == 0 then
  22. GUI:Text_setString(self.view.GoButtonText,"<color=#38FF26>前往</color>")
  23. GUI:setVisible(self.view.GoButtonText,true)
  24. GUI:setVisible(self.view.last_time,false)
  25. else
  26. local ServerTime = Time.GetServerTime()
  27. local reliveTime = self.data.reliveTime - ServerTime
  28. reliveTime = math.ceil(reliveTime/1000)
  29. GUI:setVisible(self.view.GoButtonText,false)
  30. GUI:setVisible(self.view.last_time,true)
  31. GUI:SetControl_time(self.view.last_time, reliveTime)
  32. end
  33. self:SetSelect(isSelect)
  34. end
  35. ---注册UI事件和服务器消息
  36. function this:RegistEvents()
  37. GUI:AddOnTouchEvent(self.view.BG,self,function(ui, control, eventType, systemData)
  38. if eventType == EUIEventName.OnPointerClick then
  39. self.Onclick(self,self.data,self.luaIndex)
  40. end
  41. end)
  42. end
  43. function this:SetSelect(value)
  44. GUI:setVisible(self.view.select, value)
  45. end
  46. function this:Close()
  47. end
  48. return this