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

110 行
3.0 KiB

  1. ChildSkillItem = ChildSkillItem or BaseClass(BaseItem)
  2. function ChildSkillItem:__init()
  3. self.base_file = "child"
  4. self.layout_file = "ChildSkillItem"
  5. self.is_delay_callback = true
  6. -- self.use_local_view = true
  7. self.model = ChildModel:GetInstance()
  8. self:Load()
  9. end
  10. function ChildSkillItem:Load_callback()
  11. self.nodes = {
  12. "lock_img:obj","icon:img","text:tmp","chosen_1:obj","bg:obj","red_dot:obj",
  13. "diBg:obj:img",
  14. --"lv:tmp",
  15. }
  16. self:GetChildren(self.nodes)
  17. lua_resM:setOutsideImageSprite(self, self.diBg_img, GameResPath.GetChildIcon("child_skill_item_bg"), false)
  18. self:InitEvent()
  19. if self.need_refreshData then
  20. self:SetData(self.skill_id,self.skill_lv,self.callback)
  21. self:SetChosen(self.isChosen)
  22. self:SetRedDot(self.is_redDot)
  23. end
  24. end
  25. function ChildSkillItem:InitEvent()
  26. local function onBtnClickHandler(target, x, y)
  27. if target == self.diBg_obj then
  28. --Message.show("Ñ¡ÖÐaaa:",self.skill_lv)
  29. self.callback(self)
  30. end
  31. end
  32. AddClickEvent(self.diBg_obj, onBtnClickHandler)
  33. end
  34. function ChildSkillItem:SetData(skill_id,skill_lv,callback)
  35. self.skill_id = skill_id
  36. --self.index = skill_id.sequence
  37. self.skill_lv = skill_lv or 0
  38. self.callback = callback or self.callback
  39. if self.is_loaded then
  40. --
  41. if self.skill_id then
  42. local list = self.model:GetConfigChildSkillInfo(skill_id,1) --死取一级的名字
  43. if list and list.skill_name then
  44. self.text_tmp.text = Trim(list.skill_name)
  45. end
  46. else
  47. self.text_tmp.text = "未激活"
  48. end
  49. --lv
  50. --self.lv_tmp.text = "Lv."..skill_lv
  51. --
  52. self:SetLocked( false )
  53. if skill_lv == 0 then
  54. self:SetLocked( true )
  55. elseif skill_lv == 2 then
  56. -- self.chosen_1_obj:SetActive(true)
  57. end
  58. -- 技能图标
  59. lua_resM:setOutsideImageSprite(self, self.icon_img, GameResPath.GetSkillIcon(self.skill_id),false)
  60. else
  61. self.need_refreshData = true
  62. end
  63. end
  64. function ChildSkillItem:SetLocked( bool )
  65. self.is_locked = bool
  66. if self.is_loaded then
  67. self.lock_img_obj:SetActive(bool)
  68. SetImageGray(self.icon_img, bool)
  69. self.text_tmp.text = HtmlColorTxt( DeleteColorTag(self.text_tmp.text) , bool and ColorUtil.GRAY_DARK or ColorUtil.WHITE_DARK)
  70. self.need_refreshData = false
  71. else
  72. self.need_refreshData = true
  73. end
  74. end
  75. function ChildSkillItem:SetRedDot( bool )
  76. self.is_redDot = bool
  77. if self.is_loaded then
  78. self.red_dot_obj:SetActive(bool)
  79. self.need_refreshData = false
  80. else
  81. self.need_refreshData = true
  82. end
  83. end
  84. function ChildSkillItem:GetRedDot( )
  85. return self.is_redDot
  86. end
  87. function ChildSkillItem:SetChosen(bool)
  88. self.isChosen = bool
  89. if self.is_loaded then
  90. if bool then
  91. --self.bg_obj:SetActive(false)
  92. self.chosen_1_obj:SetActive(true)
  93. else
  94. --self.bg_obj:SetActive(true)
  95. self.chosen_1_obj:SetActive(false)
  96. end
  97. else
  98. self.need_refreshData = true
  99. end
  100. end