KLUIChallengeBossRewardItem.lua 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. ---@class KLUIChallengeBossRewardItem:UIKmlLuaPanelBase
  2. ---@field view KLUIChallengeBossRewardItemView
  3. local KLUIChallengeBossRewardItem = class(UIKmlLuaPanelBase)
  4. local this = KLUIChallengeBossRewardItem
  5. ---创建时调用一次
  6. function this:Init()
  7. end
  8. ---创建或者刷新界面数据时调用
  9. function this:RefreshItem(args)
  10. self.args = args
  11. GUI:Item_setItemId(self.view.equip_item,self.args.cfgId)
  12. if self.args.count and self.args.count > 1 then
  13. GUI:Item_setItemCount(self.view.equip_item, self.args.count)
  14. else
  15. --GUI:Item_setItemCount(self.view.equip_item, 0)
  16. end
  17. --GUI:Item_setItemId(self.view.equip_item,20900002)
  18. local tab = SL:GetConfig('cfg_item', self.args.cfgId)
  19. if not tab or (tab and tab.type ~= EItemType.Equip) then
  20. GUI:setVisible(self.view.arrow, false)
  21. else
  22. if SL:CheckEquipBaseCareer(self.args) and SL:CompareInitGrage(self.args) == 1 then
  23. GUI:setVisible(self.view.arrow, true)
  24. else
  25. GUI:setVisible(self.view.arrow, false)
  26. end
  27. local entryLib = nil
  28. if SL:HasConfig('cfg_equip_entryLib', self.args.cfgId) then
  29. entryLib = SL:GetConfig('cfg_equip_entryLib', self.args.cfgId)
  30. end
  31. local img_quality = self.view.img_quality
  32. GUI:setVisible(img_quality, false)
  33. if entryLib then
  34. local qualityTbl = SL:GetConfigTable("cfg_equip_quality")
  35. ---@param v cfg_equip_quality_column
  36. for _, v in pairs(qualityTbl) do
  37. if not string.isNullOrEmpty(v.logo) and entryLib.initialRating >= v.stage[1] and entryLib.initialRating <= v.stage[2] then
  38. GUI:setVisible(img_quality, true)
  39. GUI:Image_loadTexture(img_quality, v.logo, "Atlas/UIBagPanel.spriteatlas")
  40. break
  41. end
  42. end
  43. end
  44. end
  45. local effect_id = SL:GetConfig("cfg_item",self.args.cfgId,"id").sEffect
  46. if effect_id and effect_id ~= 0 then
  47. local effect_tbl = SL:GetConfig("cfg_model_effect",effect_id,"id")
  48. GUI:Model_setSrc(self.view.effect_model,effect_tbl.path)
  49. GUI:setVisible(self.view.effect_model, true)
  50. else
  51. GUI:setVisible(self.view.effect_model, false)
  52. end
  53. end
  54. ---注册UI事件和服务器消息
  55. function this:RegistEvents()
  56. GUI:AddOnClickEvent(self.view.btn,self,self.BtnClick)
  57. end
  58. function this:BtnClick()
  59. SL:OpenTips("", self.args.cfgId)
  60. end
  61. function this:Close()
  62. end
  63. return this