源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 rivejä
2.2 KiB

1 kuukausi sitten
  1. LightItem = LightItem or BaseClass(BaseItem)
  2. local LightItem = LightItem
  3. function LightItem:__init()
  4. self.base_file = "light"
  5. self.layout_file = "LightItem"
  6. self.model = LightModel:GetInstance()
  7. self:Load()
  8. end
  9. function LightItem:Load_callback()
  10. self.nodes = {
  11. "mark_image:obj","name_text:txt","click_con:obj","red_image:obj","select_image:obj",
  12. "wear_image:obj","active_image2:obj","lock_image:obj","up_image:obj","head:img",
  13. }
  14. self:GetChildren(self.nodes)
  15. self:AddEvents()
  16. if self.need_refreshData then
  17. self:UpdateView()
  18. end
  19. end
  20. function LightItem:AddEvents( )
  21. local function onClick(target,x,y)
  22. if target == self.click_con_obj then
  23. self.call_back(self.data.id)
  24. end
  25. end
  26. AddClickEvent(self.click_con_obj,onClick)
  27. local function on_ans_update_red_dot( )
  28. self:RedDotRefresh()
  29. end
  30. self:BindEvent(NewMainRoleModel:getInstance(), NewMainRoleModel.ANS_UPDATE_RED_DOT, on_ans_update_red_dot)
  31. end
  32. function LightItem:RedDotRefresh( )
  33. self.red_image_obj:SetActive(self.model:GetLightOneRed(false,self.data.id))
  34. end
  35. function LightItem:UpdateView( )
  36. if not self.data then
  37. return
  38. end
  39. local can_active = self.model:CanLightActive( false,self.data.id )
  40. local is_active = self.model:GetLightIsActive( self.data.id )
  41. self.wear_image_obj:SetActive(self.model:GetLightUsingSkin() == self.data.id)
  42. self.mark_image_obj:SetActive(not is_active and (not can_active))
  43. self.lock_image_obj:SetActive((not is_active) and (not can_active))
  44. self.select_image_obj:SetActive(self.data.id == self.select_id)
  45. self.active_image2_obj:SetActive(can_active)
  46. self.up_image_obj:SetActive(self.model:CanLightUpGrade( false,self.data.id ))
  47. lua_resM:setImageSprite(self, self.head_img, "lighticon_asset", "light_icon_" .. self.index,true)
  48. self:RedDotRefresh()
  49. local conf = self.model:GetLightConfOne( self.data.id )
  50. if conf then
  51. self.name_text_txt.text = Trim(conf.name)
  52. end
  53. end
  54. function LightItem:GetId( )
  55. return self.fashion_id or 0
  56. end
  57. function LightItem:SetData(index, data, call_back,select_id)
  58. self.index = index
  59. self.data = data
  60. self.call_back = call_back
  61. self.select_id = select_id
  62. if self.is_loaded then
  63. self.need_refreshData = false
  64. self:UpdateView()
  65. else
  66. self.need_refreshData = true
  67. end
  68. end
  69. function LightItem:__delete( )
  70. end