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

87 行
2.5 KiB

  1. -- <*
  2. -- @Author: Saber
  3. -- @Description: 社团boss 掉落和roll点奖励预览内容节点
  4. -- *>
  5. GuildBossRollPreviewItem = GuildBossRollPreviewItem or BaseClass(BaseItem)
  6. local GuildBossRollPreviewItem = GuildBossRollPreviewItem
  7. function GuildBossRollPreviewItem:__init(parent_wnd,prefab_asset,layer_name)
  8. self.base_file = "guildScene"
  9. self.layout_file = "GuildBossRollPreviewItem"
  10. self.parent_wnd = parent_wnd
  11. self.layer_name = layer_name
  12. self.model = GuildModel:getInstance()
  13. self.height = 0
  14. self:Load()
  15. end
  16. function GuildBossRollPreviewItem:Load_callback()
  17. local nodes = {
  18. "title:obj",
  19. "title/title_lb:tmp",
  20. "reward_con:obj",
  21. }
  22. self:GetChildren(nodes)
  23. self:AddEvents()
  24. if self.need_refreshData then
  25. self:UpdateView()
  26. end
  27. end
  28. function GuildBossRollPreviewItem:AddEvents( )
  29. end
  30. function GuildBossRollPreviewItem:SetData( data )
  31. self.data = data
  32. if self.is_loaded then
  33. self.need_refreshData = false
  34. self:UpdateView()
  35. else
  36. self.need_refreshData = true
  37. end
  38. return self.height
  39. end
  40. function GuildBossRollPreviewItem:UpdateView( )
  41. if self.data then
  42. if self.data.title then
  43. self.title_obj:SetActive(true)
  44. self.reward_con_obj:SetActive(false)
  45. self.title_lb_tmp.text = self.data.title
  46. self.height = 36
  47. elseif self.data.reward then
  48. self.title_obj:SetActive(false)
  49. self.reward_con_obj:SetActive(true)
  50. self.reward_item_creator = self.reward_item_creator or self:AddUIComponent(UI.ItemListCreator)
  51. local info = {
  52. data_list = self.data.reward,
  53. scroll_view = self.reward_con,
  54. item_con = self.reward_con,
  55. obj_pool_type = UIObjPool.UIType.AwardItem,
  56. item_width = 62,
  57. item_height = 62,
  58. start_x = 3,
  59. start_y = -3,
  60. space_x = 16.5,
  61. space_y = 10,
  62. create_frequency = 0.01,
  63. alignment = UnityEngine.TextAnchor.UpperLeft,
  64. on_update_item = function(item, i, v)
  65. item:SetItemSize(62, 62)
  66. item:SetData(v[2])
  67. end,
  68. }
  69. self.reward_item_creator:UpdateItems(info)
  70. self.height = math.ceil(#self.data.reward / 6) * 76
  71. -- SetSizeDeltaY(self.item_con, self.height)
  72. end
  73. end
  74. end
  75. function GuildBossRollPreviewItem:__delete( )
  76. end