源战役客户端
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

186 wiersze
5.7 KiB

1 miesiąc temu
  1. --社团协助前往结算界面
  2. GuildSupportResultView = GuildSupportResultView or BaseClass(BaseView)
  3. local GuildSupportResultView = GuildSupportResultView
  4. function GuildSupportResultView:__init()
  5. self.base_file = "guild"
  6. self.layout_file = "GuildSupportResultView"
  7. self.layer_name = "UI"
  8. self.destroy_imm = true
  9. self.use_background = true
  10. self.hide_maincancas = true --全屏界面需要放开隐藏主UI
  11. self.change_scene_close = true
  12. self.append_to_ctl_queue = false --是否要添加进界面堆栈
  13. self.need_show_money = false --是否要显示顶部的金钱栏
  14. self.model = GuildModel:getInstance()
  15. self.delay_time = 8
  16. self.item_list = {}
  17. if SceneManager.Instance:IsBossMoneyScene() then
  18. self.delay_time = 18
  19. BossController.Instance.listen_support_result = true--赏金幻魔协助者结算标记
  20. end
  21. self.load_callback = function ()
  22. self:LoadSuccess()
  23. self:AddEvent()
  24. end
  25. self.open_callback = function ( )
  26. self:OpenSuccess()
  27. end
  28. self.destroy_callback = function ( )
  29. self:DestroySuccess()
  30. end
  31. end
  32. function GuildSupportResultView:DestroySuccess()
  33. if self.timer_id then
  34. GlobalTimerQuest:CancelQuest(self.timer_id)
  35. self.timer_id = nil
  36. end
  37. for k, v in pairs(self.item_list) do
  38. v:DeleteMe()
  39. v = nil
  40. end
  41. self.item_list = {}
  42. --如果在赏金幻魔场景结算要退出界面
  43. if SceneManager.Instance:IsBossMoneyScene() then
  44. BossModel:GetInstance():Fire(BossConst.REQ_QUIT_SCENE)
  45. end
  46. end
  47. function GuildSupportResultView:LoadSuccess()
  48. local nodes = {
  49. "insufficientText:tmp","award_con","buff_text:tmp","mask_bg:obj"
  50. ,"titlebg:raw","bg:raw","time_text:tmp","name:tmp", "awardImg:raw",
  51. }
  52. self:GetChildren(nodes)
  53. lua_resM:setOutsideRawImage(self, self.bg_raw, GameResPath.GetViewBigBg("default_result_bg1"),false)
  54. lua_resM:setOutsideRawImage(self, self.titlebg_raw, GameResPath.GetGuildImage("guild_support_title"),false)
  55. lua_resM:setOutsideRawImage(self, self.awardImg_raw, GameResPath.GetGuildImage("guild_support_result_award_img"),false)
  56. -- local guild_lv = self.model.base_info.guild_lv
  57. -- local honorInc = self.model:GetGuildBadgeInfo(GuildBadgeType.HonorInc)
  58. -- if honorInc and honorInc > 0 then
  59. -- self.buff_text_tmp.text = "当前社团名望券收益加成"..HtmlColorTxt(honorInc.."%", ColorUtil.GREEN_DARK)
  60. -- else
  61. -- self.buff_text_tmp.text = "恭喜您获得社团协助奖励!"
  62. -- end
  63. if self.need_refreshData then
  64. self:UpdateView( )
  65. end
  66. end
  67. function GuildSupportResultView:AddEvent()
  68. local function onBtnClickHandler(target,x,y)
  69. if target == self.mask_bg_obj then--关闭
  70. self:Close()
  71. end
  72. end
  73. AddClickEvent(self.mask_bg_obj,onBtnClickHandler, LuaSoundManager.SOUND_UI.NONE)
  74. end
  75. function GuildSupportResultView:Open( data )
  76. self.data = data
  77. BaseView.Open(self)
  78. end
  79. function GuildSupportResultView:OpenSuccess( )
  80. self:UpdateView()
  81. end
  82. function GuildSupportResultView:UpdateView( )
  83. if self.is_loaded then
  84. self.need_refreshData = false
  85. else
  86. self.need_refreshData = true
  87. return
  88. end
  89. if not self.data then return end
  90. self.cfg = self.model:GetGuildSupportCfg(self.data.support_cfg_id)
  91. if not self.cfg then return end
  92. if self.cfg.module_id == 460 then
  93. self:UpdateBossInfo()
  94. elseif self.cfg.module_id == 500 then
  95. self.insufficientText_tmp.text = "协助护送成功"
  96. elseif self.cfg.module_id == 408 then
  97. self.insufficientText_tmp.text = "成功协助击杀裂隙首领"
  98. else
  99. self.insufficientText_tmp.text = "协助成功"
  100. end
  101. self.name_tmp.text = string.format("<color=#fdffc2>成功协助</color> %s",self.data.name)
  102. self:UpdateItemList()
  103. self:UpdateTime()
  104. end
  105. function GuildSupportResultView:UpdateBossInfo( )
  106. --Boss形象
  107. local monster = ConfigItemMgr.Instance:GetMonsterDataItem(self.data.value)
  108. if not monster then
  109. print('----HC GuildSupportResultView.lua -- 没有找到怪物配置=')
  110. return
  111. end
  112. local boss_type = BossModel:GetInstance():GetBossTypeByBossId( self.data.value )
  113. local boss_type_name = self.model:GetSupportTypeName(boss_type) or ""
  114. local boss_str = boss_type_name..""..HtmlColorTxt(monster.name, ColorUtil.PURPLE_DARK)
  115. self.insufficientText_tmp.text = string.format("击杀%s",boss_str)
  116. end
  117. function GuildSupportResultView:BtnCloseEvt()--关闭按钮回调
  118. self:Close()
  119. end
  120. function GuildSupportResultView:UpdateItemList( )
  121. local cfg = self.cfg
  122. if not cfg then return end
  123. for k,v in pairs(self.item_list) do
  124. v:SetVisible(false)
  125. end
  126. local guild_lv = self.model:GetGuildBaseInfo().guild_lv
  127. local item_list = {{0,100003,cfg.reward_reputation}}
  128. if not item_list or TableSize(item_list) == 0 then return end
  129. local offer_x = 0
  130. local offer_y = 0
  131. local x = 0
  132. local y = 0
  133. for i, v in ipairs(item_list) do
  134. local item = self.item_list[i]
  135. if item == nil then
  136. item = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem,self.award_con)
  137. item:SetItemSize(78,78)
  138. self.item_list[i] = item
  139. end
  140. -- y = offer_y
  141. -- x = (78+offer_x) * (i-1)
  142. -- item:SetPosition(x,y)
  143. local goods_Id, lock = GoodsModel:getInstance():GetMappingTypeId(v[1], v[2])
  144. local goodVo = GoodsModel:getInstance():GetGoodsBasicByTypeId(goods_Id)
  145. if goodVo then
  146. item:SetData(goods_Id, v[3], goodVo.color, 0, lock,true,nil)
  147. else
  148. -- error("没有找到物品信息 "..v.typeId)
  149. end
  150. item:SetVisible(true)
  151. end
  152. end
  153. function GuildSupportResultView:UpdateTime( )
  154. local time = self.delay_time
  155. local function countDown()
  156. if self._use_delete_method then return end
  157. if not self.data then return end
  158. time = time - 1
  159. if time > 0 then
  160. self.time_text_tmp.text = "点击任意处继续"..HtmlColorTxt(""..time.."s)", ColorUtil.GREEN_DARK)
  161. else
  162. self:Close()
  163. end
  164. end
  165. countDown()
  166. if not self.timer_id then
  167. self.timer_id = GlobalTimerQuest:AddPeriodQuest(countDown,1)
  168. end
  169. end