KLDailyActiveItem.lua 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. ---@class KLDailyActiveItem:UIKmlLuaPanelBase
  2. ---@field view KLDailyActiveItemView
  3. local KLDailyActiveItem = class(UIKmlLuaPanelBase)
  4. local this =KLDailyActiveItem
  5. ---创建时调用一次
  6. function this:Init()
  7. end
  8. ---创建或者刷新界面数据时调用
  9. function this:Refresh()
  10. end
  11. ---注册UI事件和服务器消息
  12. function this:RegistEvents()
  13. GUI:AddOnClickEvent(self.view.btn_goto,self,self.BtnGotoOnClick)
  14. end
  15. function this:BtnGotoOnClick()
  16. ---@type cfg_task_target_column
  17. local target = SL:GetConfig("cfg_task_target",self.config.target)
  18. GUI:UIPanel_Close("dev/outui/DailyGoal/Panel/KLDailyGoalMain/KLDailyGoalMainPanel")
  19. shortcutOutMgr.DO(target.instruction[1])
  20. end
  21. function this:Close()
  22. end
  23. ---更新数据
  24. ---@param data daily_task 数据
  25. function this:UpdateData(data)
  26. self.data = data
  27. ---@type cfg_daily_activity_column
  28. self.config = SL:GetConfig("cfg_daily_activity",tonumber(data.task_id))
  29. GUI:SetID(self.view.root,"daily_activity_" .. self.data.task_id)
  30. GUI:Image_loadTexture(self.view.icon, self.config.icon , "Atlas/DailyGoal.spriteatlas")
  31. GUI:Text_setString(self.view.name, self.config.name)
  32. GUI:Text_setString(self.view.active_per_time,string.format("+%s/次",self.config.activity))
  33. GUI:Text_setString(self.view.active_info,string.format("活跃度<color=#00FF00>%d</color>/%d",tonumber(self.data.task_finish_count) * self.config.activity,self.config.timeMax * self.config.activity))
  34. local check = SL:CheckCondition(self.config.conditions)
  35. GUI:setVisible(self.view.btn_goto,check)
  36. GUI:setVisible(self.view.txt_tip,not check)
  37. GUI:Text_setString(self.view.txt_tip,self.config.conditionsText)
  38. local finish = tonumber(self.data.task_finish_count) >= self.config.timeMax
  39. GUI:setVisible(self.view.txt_done,finish and (self.config.Done == 1))
  40. end
  41. return this