源战役客户端
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

119 строки
3.6 KiB

4 недель назад
  1. -- <*
  2. -- @Author: Saber
  3. -- @Description: 幻魔之家 公共和社团专属tab节点
  4. -- *>
  5. BossHomeMainTabItem = BossHomeMainTabItem or BaseClass(BaseItem)
  6. local BossHomeMainTabItem = BossHomeMainTabItem
  7. function BossHomeMainTabItem:__init(parent_wnd,prefab_asset,layer_name)
  8. self.base_file = "boss"
  9. self.layout_file = "BossHomeMainTabItem"
  10. self.parent_wnd = parent_wnd
  11. self.layer_name = layer_name
  12. self.model = BossHomeModel:getInstance()
  13. self.index = 1
  14. self.selected_index = 0
  15. self:Load()
  16. end
  17. function BossHomeMainTabItem:Load_callback()
  18. local nodes = {
  19. "bg:obj:img",
  20. "flag_mine:img",
  21. "flag_guild:img",
  22. "flag_public:img",
  23. "selected:img",
  24. "drop_rate_up:img",
  25. "exclusive_lb:tmp",
  26. }
  27. self:GetChildren(nodes)
  28. self:AddEvents()
  29. if self.need_refreshData then
  30. self:UpdateView()
  31. end
  32. end
  33. function BossHomeMainTabItem:AddEvents( )
  34. local function click_event(target)
  35. if target == self.bg_obj then
  36. if self.data and self.select_callback then
  37. if self.index == 1 then
  38. self.select_callback(self.index, self.data.type)
  39. else
  40. if self.index > 1 and self.data.guild_data then
  41. self.select_callback(self.index, self.data.type)
  42. else
  43. Message.show("排行前3社团才可拥有专属幻魔哦~", "fault")
  44. end
  45. end
  46. end
  47. end
  48. end
  49. AddClickEvent(self.bg_obj, click_event)
  50. end
  51. function BossHomeMainTabItem:SetData( data, index, select_callback )
  52. self.data = data
  53. self.index = index
  54. self.select_callback = select_callback
  55. if self.is_loaded then
  56. self.need_refreshData = false
  57. self:UpdateView()
  58. else
  59. self.need_refreshData = true
  60. end
  61. end
  62. function BossHomeMainTabItem:UpdateView( )
  63. self:UpdateBasicData()
  64. self:UpdateCommonAreaData()
  65. self:UpdateGuildExclusiveData()
  66. end
  67. -- 加载基础信息
  68. function BossHomeMainTabItem:UpdateBasicData( )
  69. -- 加载背景图
  70. lua_resM:setImageSprite(self, self.bg_img, "bosshomeExtra_asset", "bosshome_maintab" .. self.index)
  71. self:SetSelected(self.selected_index)
  72. end
  73. -- 加载公共地区信息
  74. function BossHomeMainTabItem:UpdateCommonAreaData( )
  75. if self.index ~= 1 then return end
  76. self.flag_public_img.enabled = true
  77. self.drop_rate_up_img.enabled = true
  78. self.flag_mine_img.enabled = false
  79. self.flag_guild_img.enabled = false
  80. self.exclusive_lb_tmp.text = ""
  81. SetImageGray(self.bg_img, false)
  82. end
  83. -- 加载社团专属区域信息
  84. function BossHomeMainTabItem:UpdateGuildExclusiveData( )
  85. if self.index == 1 then return end
  86. self.flag_public_img.enabled = false
  87. self.drop_rate_up_img.enabled = false
  88. self.flag_guild_img.enabled = true
  89. if self.data.guild_data then
  90. SetImageGray(self.bg_img, false)
  91. local my_guild_id = RoleManager.Instance.mainRoleInfo.guild_id
  92. self.flag_mine_img.enabled = my_guild_id == self.data.guild_data.guild_id
  93. self.exclusive_lb_tmp.text = string.format("归属:%s", self.data.guild_data.guild_name)
  94. else
  95. SetImageGray(self.bg_img, true)
  96. self.flag_mine_img.enabled = false
  97. self.exclusive_lb_tmp.text = "暂无归属"
  98. end
  99. end
  100. function BossHomeMainTabItem:SetSelected(selected_index)
  101. self.selected_index = selected_index
  102. if self.is_loaded then
  103. self.selected_img.enabled = self.selected_index == self.index
  104. end
  105. end
  106. function BossHomeMainTabItem:__delete( )
  107. end