|
|
- --社团协助前往结算界面
- GuildSupportResultView = GuildSupportResultView or BaseClass(BaseView)
- local GuildSupportResultView = GuildSupportResultView
-
- function GuildSupportResultView:__init()
- self.base_file = "guild"
- self.layout_file = "GuildSupportResultView"
- self.layer_name = "UI"
- self.destroy_imm = true
- self.use_background = true
- self.hide_maincancas = true --全屏界面需要放开隐藏主UI
- self.change_scene_close = true
- self.append_to_ctl_queue = false --是否要添加进界面堆栈
- self.need_show_money = false --是否要显示顶部的金钱栏
- self.model = GuildModel:getInstance()
- self.delay_time = 8
- self.item_list = {}
-
- if SceneManager.Instance:IsBossMoneyScene() then
- self.delay_time = 18
- BossController.Instance.listen_support_result = true--赏金幻魔协助者结算标记
- end
-
- self.load_callback = function ()
- self:LoadSuccess()
- self:AddEvent()
- end
- self.open_callback = function ( )
- self:OpenSuccess()
- end
- self.destroy_callback = function ( )
- self:DestroySuccess()
- end
- end
-
- function GuildSupportResultView:DestroySuccess()
- if self.timer_id then
- GlobalTimerQuest:CancelQuest(self.timer_id)
- self.timer_id = nil
- end
-
- for k, v in pairs(self.item_list) do
- v:DeleteMe()
- v = nil
- end
- self.item_list = {}
-
- --如果在赏金幻魔场景结算要退出界面
- if SceneManager.Instance:IsBossMoneyScene() then
- BossModel:GetInstance():Fire(BossConst.REQ_QUIT_SCENE)
- end
- end
-
- function GuildSupportResultView:LoadSuccess()
- local nodes = {
- "insufficientText:tmp","award_con","buff_text:tmp","mask_bg:obj"
- ,"titlebg:raw","bg:raw","time_text:tmp","name:tmp", "awardImg:raw",
- }
- self:GetChildren(nodes)
-
- lua_resM:setOutsideRawImage(self, self.bg_raw, GameResPath.GetViewBigBg("default_result_bg1"),false)
- lua_resM:setOutsideRawImage(self, self.titlebg_raw, GameResPath.GetGuildImage("guild_support_title"),false)
- lua_resM:setOutsideRawImage(self, self.awardImg_raw, GameResPath.GetGuildImage("guild_support_result_award_img"),false)
-
- -- local guild_lv = self.model.base_info.guild_lv
- -- local honorInc = self.model:GetGuildBadgeInfo(GuildBadgeType.HonorInc)
- -- if honorInc and honorInc > 0 then
- -- self.buff_text_tmp.text = "当前社团名望券收益加成"..HtmlColorTxt(honorInc.."%", ColorUtil.GREEN_DARK)
- -- else
- -- self.buff_text_tmp.text = "恭喜您获得社团协助奖励!"
- -- end
-
- if self.need_refreshData then
- self:UpdateView( )
- end
- end
-
- function GuildSupportResultView:AddEvent()
- local function onBtnClickHandler(target,x,y)
- if target == self.mask_bg_obj then--关闭
- self:Close()
- end
- end
- AddClickEvent(self.mask_bg_obj,onBtnClickHandler, LuaSoundManager.SOUND_UI.NONE)
- end
-
- function GuildSupportResultView:Open( data )
- self.data = data
- BaseView.Open(self)
- end
-
- function GuildSupportResultView:OpenSuccess( )
- self:UpdateView()
- end
-
- function GuildSupportResultView:UpdateView( )
- if self.is_loaded then
- self.need_refreshData = false
- else
- self.need_refreshData = true
- return
- end
- if not self.data then return end
- self.cfg = self.model:GetGuildSupportCfg(self.data.support_cfg_id)
- if not self.cfg then return end
- if self.cfg.module_id == 460 then
- self:UpdateBossInfo()
- elseif self.cfg.module_id == 500 then
- self.insufficientText_tmp.text = "协助护送成功"
- elseif self.cfg.module_id == 408 then
- self.insufficientText_tmp.text = "成功协助击杀裂隙首领"
- else
- self.insufficientText_tmp.text = "协助成功"
- end
- self.name_tmp.text = string.format("<color=#fdffc2>成功协助</color> %s",self.data.name)
- self:UpdateItemList()
- self:UpdateTime()
- end
-
- function GuildSupportResultView:UpdateBossInfo( )
- --Boss形象
- local monster = ConfigItemMgr.Instance:GetMonsterDataItem(self.data.value)
- if not monster then
- print('----HC GuildSupportResultView.lua -- 没有找到怪物配置=')
- return
- end
- local boss_type = BossModel:GetInstance():GetBossTypeByBossId( self.data.value )
- local boss_type_name = self.model:GetSupportTypeName(boss_type) or ""
- local boss_str = boss_type_name..":"..HtmlColorTxt(monster.name, ColorUtil.PURPLE_DARK)
- self.insufficientText_tmp.text = string.format("击杀%s",boss_str)
- end
-
- function GuildSupportResultView:BtnCloseEvt()--关闭按钮回调
- self:Close()
- end
-
- function GuildSupportResultView:UpdateItemList( )
- local cfg = self.cfg
- if not cfg then return end
- for k,v in pairs(self.item_list) do
- v:SetVisible(false)
- end
- local guild_lv = self.model:GetGuildBaseInfo().guild_lv
- local item_list = {{0,100003,cfg.reward_reputation}}
- if not item_list or TableSize(item_list) == 0 then return end
- local offer_x = 0
- local offer_y = 0
- local x = 0
- local y = 0
- for i, v in ipairs(item_list) do
- local item = self.item_list[i]
- if item == nil then
- item = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem,self.award_con)
- item:SetItemSize(78,78)
- self.item_list[i] = item
- end
- -- y = offer_y
- -- x = (78+offer_x) * (i-1)
- -- item:SetPosition(x,y)
- local goods_Id, lock = GoodsModel:getInstance():GetMappingTypeId(v[1], v[2])
- local goodVo = GoodsModel:getInstance():GetGoodsBasicByTypeId(goods_Id)
- if goodVo then
- item:SetData(goods_Id, v[3], goodVo.color, 0, lock,true,nil)
- else
- -- error("没有找到物品信息 "..v.typeId)
- end
- item:SetVisible(true)
- end
- end
-
- function GuildSupportResultView:UpdateTime( )
- local time = self.delay_time
- local function countDown()
- if self._use_delete_method then return end
- if not self.data then return end
- time = time - 1
- if time > 0 then
- self.time_text_tmp.text = "点击任意处继续"..HtmlColorTxt("("..time.."s)", ColorUtil.GREEN_DARK)
- else
- self:Close()
- end
- end
- countDown()
- if not self.timer_id then
- self.timer_id = GlobalTimerQuest:AddPeriodQuest(countDown,1)
- end
- end
|