源战役客户端
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

91 rader
2.6 KiB

4 veckor sedan
  1. -- <*
  2. -- @Author: Saber
  3. -- @Description: 藏宝图 活动描述item节点
  4. -- *>
  5. TreasureMapDescScrollItem = TreasureMapDescScrollItem or BaseClass(BaseItem)
  6. local TreasureMapDescScrollItem = TreasureMapDescScrollItem
  7. function TreasureMapDescScrollItem:__init(parent_wnd,prefab_asset,layer_name)
  8. self.base_file = "treasureMap"
  9. self.layout_file = "TreasureMapDescScrollItem"
  10. self.parent_wnd = parent_wnd
  11. self.layer_name = layer_name
  12. self.model = TreasureMapModel:getInstance()
  13. self:Load()
  14. end
  15. function TreasureMapDescScrollItem:Load_callback()
  16. local nodes = {
  17. "title:obj", "title/title_lb:tmp",
  18. "desc1:tmp",
  19. "desc2:tmp",
  20. "jump_click_lb:obj:tmp",
  21. }
  22. self:GetChildren(nodes)
  23. self:AddEvents()
  24. if self.need_refreshData then
  25. self:UpdateView()
  26. end
  27. end
  28. function TreasureMapDescScrollItem:AddEvents( )
  29. local function click_event(target)
  30. if target == self.jump_click_lb_obj then
  31. if self.data and self.data.click_callback then
  32. self.data.click_callback()
  33. end
  34. end
  35. end
  36. AddClickEvent(self.jump_click_lb_obj, click_event)
  37. end
  38. function TreasureMapDescScrollItem:SetData( data )
  39. self.height = 0
  40. self.data = data
  41. if self.is_loaded then
  42. self.need_refreshData = false
  43. self.height = self:UpdateView()
  44. else
  45. self.need_refreshData = true
  46. end
  47. return self.height
  48. end
  49. function TreasureMapDescScrollItem:InitNodes( )
  50. self.title_obj:SetActive(false)
  51. self.desc1_tmp.text = ""
  52. self.desc2_tmp.text = ""
  53. self.jump_click_lb_obj:SetActive(false)
  54. self.jump_click_lb_tmp.text = ""
  55. end
  56. function TreasureMapDescScrollItem:UpdateView( )
  57. local height = 0
  58. self:InitNodes()
  59. if self.data then
  60. if self.data.title then
  61. self.title_obj:SetActive(true)
  62. self.title_lb_tmp.text = self.data.title
  63. height = 26
  64. elseif self.data.desc1 then
  65. self.desc1_tmp.text = self.data.desc1
  66. if self.data.click_callback then -- 存在回调
  67. self.jump_click_lb_obj:SetActive(true)
  68. self.jump_click_lb_tmp.text = self.data.click_callback_desc
  69. SetAnchoredPositionX(self.jump_click_lb, 34 + self.desc1_tmp.preferredWidth)
  70. end
  71. height = 24
  72. elseif self.data.desc2 then
  73. self.desc2_tmp.text = self.data.desc2
  74. height = self.desc2_tmp.preferredHeight + 5
  75. end
  76. end
  77. return height + (self.data.height_offset or 0)
  78. end
  79. function TreasureMapDescScrollItem:__delete( )
  80. end