源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

141 行
4.7 KiB

  1. ChildHandbookSuitItem = ChildHandbookSuitItem or BaseClass(BaseItem)
  2. function ChildHandbookSuitItem:__init()
  3. self.base_file = "child"
  4. self.layout_file = "ChildHandbookSuitItem"
  5. self.is_delay_callback = true
  6. -- self.use_local_view = true
  7. self.model = ChildModel:GetInstance()
  8. self:Load()
  9. end
  10. function ChildHandbookSuitItem:Load_callback()
  11. self.nodes = {
  12. "chosen:obj","bg:img:obj","red_dot:obj",
  13. -- "loading_bg/fight_num:txt",
  14. "load_num:tmp",
  15. "frontBg:img",
  16. "title:tmp",
  17. }
  18. self:GetChildren(self.nodes)
  19. lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetChildIcon("child_hbsuit_item_bg"), false)
  20. self:InitEvent()
  21. if self.need_refreshData then
  22. self:SetData(self.data,self.callback)
  23. self:SetChosen(self.isChosen)
  24. self:SetRedDot(self.isRedDot)
  25. end
  26. end
  27. function ChildHandbookSuitItem:InitEvent()
  28. local function updata_child_suit_reward_info_fun()
  29. --if self.data and self.data.suit_type == suit_type then
  30. -- print("============>>> YiRan:ChildHandbookSuitItem [start:31] suit_type:",suit_type)
  31. self:SetData()
  32. --end
  33. end
  34. self.updata_child_suit_reward_info = self.model:Bind(ChildConst.UPDATA_CHILD_HB_SUIT_REWARD_INFO, updata_child_suit_reward_info_fun) --
  35. local function onBtnClickHandler(target, x, y)
  36. if target == self.bg_obj then
  37. --Message.show("Ñ¡ÖÐaaa:",self.stage)
  38. self.callback(self)
  39. end
  40. end
  41. AddClickEvent(self.bg_obj, onBtnClickHandler)
  42. end
  43. function ChildHandbookSuitItem:SetData(data,callback)
  44. self.data = data or self.data
  45. self.callback = callback or self.callback
  46. if self.is_loaded then
  47. if not self.data then return end
  48. --logWarn('=======Msh:ChildHandbookSuitItem.lua[49]=======')
  49. -- 设置原画
  50. local res_id = "toy_img_" .. self.data.suit_type
  51. -- lua_resM:setOutsideImageSprite(self, self.frontBg_img, GameResPath.GetChildToyImgIcon(res_id), false)
  52. self.title_tmp.text = Trim(self.data.suit_name)
  53. local suitRewardList = self.model:GetChildSuitRewardList()
  54. local collectMaxNum = suitRewardList[self.data.suit_type].collectMaxNum
  55. local progress = suitRewardList[self.data.suit_type].progress
  56. --self.load_num_tmp.text = (progress*100 / collectMaxNum).."%"
  57. self.load_num_tmp.text = string.format('收集(%s/%s)', HtmlColorTxt( progress, progress == 0 and ColorUtil.RED_DARK or ColorUtil.GREEN_DARK) , collectMaxNum)
  58. -- self.loading_img.fillAmount = (progress / collectMaxNum)
  59. ------战力
  60. -- local handbook_list = self.model:GetSuitToyList(self.data.suit_type)
  61. -- local sum_attr_list = {}
  62. -- for k,v in pairs(handbook_list) do
  63. -- if v.isActive then
  64. -- local attr_list = stringtotable(v.attr_list)
  65. -- for k,v_attr in pairs(attr_list) do
  66. -- local isHad = false
  67. -- for k,v_sum in pairs(sum_attr_list) do
  68. -- if v_sum[1] == v_attr[1] then
  69. -- isHad = true
  70. -- v_sum[2] = v_sum[2] + v_attr[2]
  71. -- end
  72. -- end
  73. -- if isHad == false then
  74. -- table.insert(sum_attr_list,v_attr)
  75. -- end
  76. -- end
  77. -- end
  78. -- end
  79. -- self.fight_num_txt.text = "f"..GetFighting(sum_attr_list)
  80. -- self.lock_con_obj:SetActive(progress == 0)
  81. -- self.bg_img.gray = (progress == 0)
  82. --else
  83. -- self.title_txt.text = "未激活"
  84. --end
  85. --
  86. --self.lock_img_obj:SetActive(false)
  87. --self.icon_img.color = ColorUtilValue.WHITE
  88. --if stage == 0 then
  89. --- self.icon_img.color = Color(148/255,148/255,148/255)
  90. --- self.lock_img_obj:SetActive(true)
  91. --else
  92. --self.stage_txt_num_txt.text = stage
  93. --end
  94. self:SetRedDot(self.isRedDot)
  95. else
  96. self.need_refreshData = true
  97. end
  98. end
  99. function ChildHandbookSuitItem:SetChosen(bool)
  100. self.isChosen = bool
  101. if self.is_loaded then
  102. if bool then
  103. self.chosen_obj:SetActive(true)
  104. else
  105. self.chosen_obj:SetActive(false)
  106. end
  107. else
  108. self.need_refreshData = true
  109. end
  110. end
  111. function ChildHandbookSuitItem:SetRedDot(bool)
  112. self.isRedDot = bool
  113. if self.is_loaded then
  114. --print("============>>> YiRan:ChildHandbookSuitItem [start:83] vehicle_id :",vehicle_id,"self.isRedDot:",self.isRedDot)
  115. self.red_dot_obj:SetActive(self.isRedDot)
  116. else
  117. self.need_refreshData = true
  118. end
  119. end
  120. function ChildHandbookSuitItem:__delete( )
  121. if self.updata_child_suit_reward_info then
  122. self.model:UnBind(self.updata_child_suit_reward_info)
  123. self.updata_child_suit_reward_info = nil
  124. end
  125. end