源战役客户端
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.

138 lines
3.1 KiB

  1. DailyRechargeJipsawItem = DailyRechargeJipsawItem or BaseClass(BaseItem)
  2. local DailyRechargeJipsawItem = DailyRechargeJipsawItem
  3. function DailyRechargeJipsawItem:__init()
  4. self.base_file = "dailyRecharge"
  5. self.layout_file = "DailyRechargeJipsawItem"
  6. self.model = RechargeActivityModel:getInstance()
  7. self.size = false
  8. self.uv_rect = false
  9. self.data = false
  10. self.index = -1
  11. self.is_select = false
  12. self.action_breath_light = false
  13. self:Load()
  14. end
  15. function DailyRechargeJipsawItem:Load_callback()
  16. self.nodes = {
  17. "pos:txt", "res:raw:obj","select:img:obj",
  18. }
  19. self:GetChildren(self.nodes)
  20. self.canvas_com = self.select:GetComponent("CanvasGroup")
  21. if self.need_refreshData then
  22. self:SetData(self.data, self.index)
  23. self:SetSize(self.size)
  24. self:SetUIRect(self.uv_rect)
  25. self:SetSelect(self.is_select)
  26. end
  27. self:InitEvent()
  28. end
  29. function DailyRechargeJipsawItem:SetData(data, index)
  30. self.data = data
  31. self.index = index
  32. if self.is_loaded then
  33. self.need_refreshData = false
  34. self:UpdateView()
  35. else
  36. self.need_refreshData = true
  37. end
  38. end
  39. function DailyRechargeJipsawItem:__delete( )
  40. self:StopShowTipsAni()
  41. end
  42. function DailyRechargeJipsawItem:InitEvent()
  43. local function onClickHandler(target)
  44. if self.res_obj == target then
  45. if self.call_back then
  46. self.call_back(self.data, self.index)
  47. end
  48. end
  49. end
  50. AddClickEvent(self.res_obj,onClickHandler)
  51. end
  52. function DailyRechargeJipsawItem:UpdateView()
  53. local d = self.data
  54. lua_resM:setOutsideRawImage(self, self.res_raw, d.res_path)
  55. self.pos_txt.text = d.pic_pos
  56. end
  57. function DailyRechargeJipsawItem:SetSize(size)
  58. self.size = size
  59. if self.is_loaded then
  60. if self.size then
  61. SetSizeDelta(self.transform, size.x, size.y)
  62. SetSizeDelta(self.res, size.x, size.y)
  63. SetSizeDelta(self.select, size.x, size.y)
  64. end
  65. else
  66. self.need_refreshData = true
  67. end
  68. end
  69. function DailyRechargeJipsawItem:SetUIRect(uv_rect)
  70. self.uv_rect = uv_rect
  71. if self.is_loaded then
  72. if self.uv_rect then
  73. self.res_raw.uvRect = UnityEngine.Rect.New(self.uv_rect.x, self.uv_rect.y, self.uv_rect.w, self.uv_rect.h)
  74. end
  75. else
  76. self.need_refreshData = true
  77. end
  78. end
  79. function DailyRechargeJipsawItem:ShowTipsAni(show_ani)
  80. self.show_ani = show_ani
  81. if self.is_loaded then
  82. if self.show_ani then
  83. self.action_breath_light = ActionBreathLight.New()
  84. self.action_breath_light:Init(self.select)
  85. else
  86. self:StopShowTipsAni()
  87. end
  88. else
  89. self.need_refreshData = true
  90. end
  91. end
  92. function DailyRechargeJipsawItem:StopShowTipsAni()
  93. if self.action_breath_light then
  94. self.action_breath_light:DeleteMe()
  95. self.action_breath_light = false
  96. self.canvas_com.alpha = 1
  97. end
  98. end
  99. function DailyRechargeJipsawItem:SetClickCallBack(call_back)
  100. self.call_back = call_back
  101. end
  102. function DailyRechargeJipsawItem:SetIdx(index)
  103. self.index = index
  104. end
  105. function DailyRechargeJipsawItem:GetIndex()
  106. return self.index
  107. end
  108. function DailyRechargeJipsawItem:GetPicPos()
  109. return self.data.pic_pos
  110. end
  111. function DailyRechargeJipsawItem:SetSelect(is_select)
  112. self.is_select = is_select
  113. if self.is_loaded then
  114. self.select_obj:SetActive(self.is_select)
  115. else
  116. self.need_refreshData = true
  117. end
  118. end