KLSDTipPanel.lua 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. ---@class KLSDTipPanel:UIKmlLuaPanelBase
  2. ---@field view KLSDTipPanelView
  3. local KLSDTipPanel = class(UIKmlLuaPanelBase)
  4. local this =KLSDTipPanel
  5. ---创建时调用一次
  6. function this:Init()
  7. end
  8. ---创建或者刷新界面数据时调用
  9. function this:Refresh()
  10. GUI:Text_setString(self.view.des,self.args.content)
  11. GUI:setPositionY(self.view.bg,self.args.y)
  12. GUI:setPositionX(self.view.bg,self.args.x)
  13. GUI:setContentSize(self.view.bg,self.args.width,self.args.height)
  14. end
  15. ---注册UI事件和服务器消息
  16. function this:RegistEvents()
  17. SL:RegisterLUAEvent(LUA_EVENT_SHIELDCHANGE, self.RefreshShield, self)--主角护盾值改变事件
  18. --SL:RegisterLUAEvent(LUA_EVENT_AGSTOCHANGE, self.RefreshAgsto, self)--主角技能值改变事件
  19. SL:RegisterLUAEvent(LUA_EVENT_COMBOVALUE_CHANGE, self.RefreshComboValue, self)--主角技能值改变事件
  20. GUI:AddOnClickEvent(self.view.root,self,self.ColsePanel)
  21. end
  22. function this:RefreshShield()
  23. local shield = SL:GetMetaValue("SHIELD")
  24. local maxShield = SL:GetMetaValue("MAXSHIELD")
  25. local des = "SD防护值 <color=#1ADD2FFF>" .. shield .."/".. maxShield .. "</color>\nPVP时受到的伤害,该伤害值以SD90%,血量10%的比例损耗\n若伤害值大于SD损耗,则剩余伤害仍从血量损耗\nSD最大值受人物等级和防御力影响"
  26. GUI:Text_setString(self.view.des,des)
  27. end
  28. function this:RefreshAgsto()
  29. local agsto = SL:GetMetaValue("AGSTO")
  30. local maxAgsto = SL:GetMetaValue("MAXAGSTO")
  31. local des = "AG技能值 <color=#1ADD2FFF>".. agsto .."/"..maxAgsto .."</color>\n释放特殊技能所需要用到的技能值。"
  32. GUI:Text_setString(self.view.des,des)
  33. end
  34. function this:RefreshComboValue(_, data)
  35. local des = "连击技 <color=#1ADD2FFF>" .. data .. "</color>%\n连击技会对周围目标造成伤害,且对主目标额外造成大量伤害\n连击能量达到100%后会自动施放连击技"
  36. GUI:Text_setString(self.view.des,des)
  37. end
  38. function this:ColsePanel()
  39. GUI:UIPanel_Close("dev/ui/MainUI/Panel/KLSDTip/KLSDTipPanel")
  40. end
  41. function this:Close()
  42. end
  43. return this