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

161 regels
4.6 KiB

1 maand geleden
  1. --社团协助任务接受界面
  2. GuildSupportAcceptView = GuildSupportAcceptView or BaseClass(BaseView)
  3. local GuildSupportAcceptView = GuildSupportAcceptView
  4. GuildSupportAcceptView.TITLE_1 = "恭喜您在完成跑环任务时,获得了1个<color=@3>协助任务</color>\n系统已自动帮您发放至<color=@3>协助列表</color>中"
  5. GuildSupportAcceptView.TITLE_2 = "TA人完成您的协助任务后,您将获得以下奖励:"
  6. GuildSupportAcceptView.ViewDepth = 395
  7. function GuildSupportAcceptView:__init()
  8. self.base_file = "guild"
  9. self.layout_file = "GuildSupportAcceptView"
  10. self.layer_name = "Main"
  11. self.destroy_imm = true
  12. self.use_background = true
  13. self.hide_maincancas = false
  14. self.change_scene_close = true
  15. self.append_to_ctl_queue = false --是否要添加进界面堆栈
  16. self.need_show_money = false --是否要显示顶部的金钱栏
  17. self.blur_activity_bg = true
  18. self.model = GuildModel:getInstance()
  19. self.item_list = {}
  20. self.load_callback = function ()
  21. self:LoadSuccess()
  22. self:AddEvent()
  23. end
  24. self.open_callback = function ( )
  25. self:OpenSuccess()
  26. end
  27. self.destroy_callback = function ( )
  28. self:DestroySuccess()
  29. end
  30. end
  31. function GuildSupportAcceptView:DestroySuccess()
  32. for k, v in pairs(self.item_list) do
  33. v:DeleteMe()
  34. v = nil
  35. end
  36. self.item_list = {}
  37. if self.timer_countdown then
  38. TimerQuest.CancelQuest(GlobalTimerQuest, self.timer_countdown)
  39. self.timer_countdown = nil
  40. end
  41. end
  42. function GuildSupportAcceptView:LoadSuccess()
  43. local nodes = {
  44. "title_1:tmp",
  45. "title_2:tmp",
  46. "btnOK:obj",
  47. "Window/windowCloseBtn:obj",
  48. "award_con:obj",
  49. "bg:img",
  50. "time_lb:tmp",
  51. }
  52. self:GetChildren(nodes)
  53. lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetViewBigBg("guild_support_accept_bg"))
  54. if self.need_refreshData then
  55. self:UpdateView( )
  56. end
  57. self.title_1_tmp.text = ChuanWenManager:getInstance():FormatColorTag2(GuildSupportAcceptView.TITLE_1)
  58. self.title_2_tmp.text = ChuanWenManager:getInstance():FormatColorTag2(GuildSupportAcceptView.TITLE_2)
  59. GlobalEventSystem:Fire(EventName.STOP_AUTO_DO_TASK) --停止自动任务
  60. UIDepth.SetUIDepth(self.gameObject,true,GuildSupportAcceptView.ViewDepth) --强制设置层级
  61. end
  62. function GuildSupportAcceptView:AddEvent()
  63. local function onBtnClickHandler(target,x,y)
  64. if target == self.windowCloseBtn_obj then--关闭
  65. self:Close()
  66. elseif target == self.btnOK_obj then--确认
  67. self:Close()
  68. end
  69. end
  70. AddClickEvent(self.windowCloseBtn_obj,onBtnClickHandler)
  71. AddClickEvent(self.btnOK_obj,onBtnClickHandler)
  72. end
  73. function GuildSupportAcceptView:Open( data )
  74. self.data = data
  75. BaseView.Open(self)
  76. end
  77. function GuildSupportAcceptView:OpenSuccess( )
  78. self:UpdateView()
  79. end
  80. function GuildSupportAcceptView:UpdateView( )
  81. if self.is_loaded then
  82. self.need_refreshData = false
  83. else
  84. self.need_refreshData = true
  85. return
  86. end
  87. if not self.data then return end
  88. self:UpdateItemList()
  89. self:CheckLeftTime()
  90. end
  91. function GuildSupportAcceptView:Close( )
  92. GlobalEventSystem:Fire(EventName.START_AUTO_DO_TASK) --启动自动任务
  93. BaseView.Close(self)
  94. end
  95. function GuildSupportAcceptView:UpdateItemList( )
  96. local cfg = Config.Guildsupport[self.data.id]
  97. if not cfg then return end
  98. self.cfg = cfg
  99. for k,v in pairs(self.item_list) do
  100. v:SetVisible(false)
  101. end
  102. local item_list = stringtotable( cfg.thank_reward)
  103. if not item_list or TableSize(item_list) == 0 then return end
  104. local offer_x = 0
  105. local offer_y = 0
  106. local x = 0
  107. local y = 0
  108. for i, v in ipairs(item_list) do
  109. local item = self.item_list[i]
  110. if item == nil then
  111. item = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem,self.award_con)
  112. item:SetItemSize(62,62)
  113. self.item_list[i] = item
  114. end
  115. local goods_Id, lock = GoodsModel:getInstance():GetMappingTypeId(v[1], v[2])
  116. local goodVo = GoodsModel:getInstance():GetGoodsBasicByTypeId(goods_Id)
  117. if goodVo then
  118. item:SetData(goods_Id, v[3] , goodVo.color, 0, lock,true,nil)
  119. else
  120. -- error("没有找到物品信息 "..v.typeId)
  121. end
  122. item:SetVisible(true)
  123. end
  124. end
  125. function GuildSupportAcceptView:CheckLeftTime()
  126. if self.timer_countdown then
  127. TimerQuest.CancelQuest(GlobalTimerQuest, self.timer_countdown)
  128. self.timer_countdown = nil
  129. end
  130. local leftTime = 10
  131. local function timer_func()
  132. leftTime = leftTime - 1
  133. if leftTime <= 0 then
  134. self:Close()
  135. else
  136. self.time_lb_tmp.text = string.format("%sS 后自动关闭界面", HtmlColorTxt(tostring(leftTime) , "#2cf86f"))
  137. end
  138. end
  139. self.time_lb_tmp.text = string.format("%sS 后自动关闭界面", HtmlColorTxt(tostring(leftTime) , "#2cf86f"))
  140. self.timer_countdown = TimerQuest.AddPeriodQuest(GlobalTimerQuest, timer_func, 1)
  141. timer_func()
  142. end