源战役客户端
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

88 行
3.0 KiB

  1. -- <*
  2. -- @Author: Saber
  3. -- @Description: 社团boss 掉落和roll点奖励展示界面
  4. -- *>
  5. GuildBossRollPreviewView = GuildBossRollPreviewView or BaseClass(BaseView)
  6. local GuildBossRollPreviewView = GuildBossRollPreviewView
  7. function GuildBossRollPreviewView:__init()
  8. self.base_file = "guildScene"
  9. self.layout_file = "GuildBossRollPreviewView"
  10. self.layer_name = "Activity"
  11. self.destroy_imm = true
  12. self.use_background = true --全屏界面默认使用这个参数,非全屏界面自行设置
  13. self.change_scene_close = true --是否切换场景时关闭(弹出界面使用)
  14. self:AddPreLoadList("guildScene", {"GuildBossRollPreviewItem"})
  15. self.model = GuildModel:getInstance()
  16. self.item_list = {}
  17. self.load_callback = function ()
  18. self:LoadSuccess()
  19. self:AddEvent()
  20. end
  21. self.open_callback = function ( )
  22. self:UpdateView()
  23. end
  24. self.destroy_callback = function ( )
  25. self:DestroySuccess()
  26. end
  27. end
  28. function GuildBossRollPreviewView:Open( )
  29. BaseView.Open(self)
  30. end
  31. function GuildBossRollPreviewView:LoadSuccess()
  32. local nodes = {
  33. "bg:raw",
  34. "close_btn:obj",
  35. "ques_icon",
  36. "item_scroll", "item_scroll/Viewport/item_con",
  37. "tips:tmp",
  38. }
  39. self:GetChildren(nodes)
  40. lua_resM:setOutsideRawImage(self, self.bg_raw, GameResPath.GetViewBigBg("guild_boss_reward_pv_bg"))
  41. end
  42. function GuildBossRollPreviewView:AddEvent()
  43. local function click_event(target)
  44. if target == self.close_btn_obj then
  45. self:Close()
  46. end
  47. end
  48. AddClickEvent(self.close_btn_obj, click_event)
  49. end
  50. function GuildBossRollPreviewView:UpdateView()
  51. local item_data_list = {}
  52. item_data_list[#item_data_list+1] = {title = "社团幻魔 掷骰奖励"}
  53. local show_roll_reward = stringtotable(Config.Guildbosskv["show_roll_reward"].value)
  54. item_data_list[#item_data_list+1] = {reward = show_roll_reward}
  55. item_data_list[#item_data_list+1] = {title = "社团幻魔 掉落奖励"}
  56. local show_boss_reward = stringtotable(Config.Guildbosskv["show_boss_reward"].value)
  57. item_data_list[#item_data_list+1] = {reward = show_boss_reward}
  58. local height = 0
  59. local item = nil
  60. for k, v in ipairs(item_data_list) do
  61. item = self.item_list[k]
  62. if not item then
  63. item = GuildBossRollPreviewItem.New(self.item_con)
  64. self.item_list[k] = item
  65. end
  66. item:SetAnchoredPosition(0, -height)
  67. height = height + item:SetData(v)
  68. end
  69. SetSizeDeltaY(self.item_con, height + 10)
  70. -- 对齐提示节点
  71. self.tips_tmp.text = "社团参与活动人数越多,奖励发放越多"
  72. local offset_x = (511 - 27 - 4 - self.tips_tmp.preferredWidth) * 0.5
  73. SetAnchoredPositionX(self.ques_icon, -261 + offset_x)
  74. SetAnchoredPositionX(self.tips, -261 + offset_x + 27 + 4)
  75. end
  76. function GuildBossRollPreviewView:DestroySuccess( )
  77. for k, v in ipairs(self.item_list) do
  78. v:DeleteMe()
  79. end
  80. self.item_list = nil
  81. end