|
|
- GuildWarResultView = GuildWarResultView or BaseClass(BaseView)
- local GuildWarResultView= GuildWarResultView
- function GuildWarResultView:__init()
- self.base_file = "guildScene"
- self.layout_file = "GuildWarResultView"
- self.layer_name = "Activity"
- self.use_background = true
-
- self.click_bg_toClose = true
- self.change_scene_close = true
- self.destroy_imm = true
- self.is_set_zdepth = true
- self.model = GuildModel:getInstance()
- self.item_list = {}
-
- self.open_callback = function()
- end
-
- self.load_callback = function()
- self:LoadSuccess()
- self:InitEvent()
- end
-
- self.close_callback = function ()
- end
-
- self.destroy_callback = function()
- self:Remove()
- end
-
- end
-
- function GuildWarResultView:Open()
- self.data = self.model.guild_war_info.result
- BaseView.Open(self)
- end
-
- function GuildWarResultView:Remove()
- self.model.guild_war_info.result = false
- if self.timer then
- GlobalTimerQuest:CancelQuest(self.timer)
- self.timer = nil
- end
- for i,item in pairs(self.item_list) do
- item:ReleaseObj()
- end
- self.item_list = {}
-
- end
-
- function GuildWarResultView:LoadSuccess()
-
- local nodes = {
- "title_bg:raw",
- "bg_1:raw:obj",
- "itemRoot/Viewport/Content",
- "itemRoot",
- "leader_mvp:tmp",
- "my_rank:tmp",
- "guild_rank:tmp",
- "guid_mvp:tmp",
- "left_label:tmp",
- }
-
- self:GetChildren(nodes)
-
- if not self.data then
- self:Close()
- return
- end
- self:UpdateView()
- self:CheckLeftTime()
- self:UpdateItem()
- end
-
- function GuildWarResultView:InitEvent()
- local function onBtnClickHandler(target )
- if target == self.bg_1_obj then
- self:Close()
- end
- end
- AddClickEvent(self.bg_1_obj,onBtnClickHandler)
- end
-
- function GuildWarResultView:UpdateView()
- self.guid_mvp_tmp.text = self.data.mvp_guild
- self.leader_mvp_tmp.text = self.data.mvp_leader
- self.guild_rank_tmp.text = string.format("社团排名:%s", HtmlColorTxt("第" .. self.data.my_guild_rank .. "名", "#fdffc2"))
- self.my_rank_tmp.text = string.format("个人排名:%s", HtmlColorTxt("第" .. self.data.my_rank .. "名", "#fdffc2"))
- lua_resM:setOutsideRawImage(self, self.bg_1_raw, GameResPath.GetViewBigBg("guild_event_war_bg3"), false)
- lua_resM:setOutsideRawImage(self,self.title_bg_raw,GameResPath.GetGuildImage("guild_event_war_txt2_pointfilter"))
-
- end
-
- function GuildWarResultView:CheckLeftTime()
- local left_time = 10
- local function timer_func()
- left_time = left_time - 1
- if left_time and left_time > 0 then
- self.left_label_tmp.text = string.format("%s 秒后自动退出", HtmlColorTxt(tostring(left_time) , "#2cf86f"))
- else
- self:Close()
- end
- end
- if not self.timer then
- self.timer = GlobalTimerQuest:AddPeriodQuest(timer_func, 1)
- end
- timer_func()
- end
-
- function GuildWarResultView:UpdateItem()
- --社团排名奖励
- local reward_list = self.model:GuildWarGetGuildRewardByRank(self.data.my_guild_rank)
- --如果明星摄团团长是自己,要加上这部分的奖励显示
- if self.data.mvp_leader == RoleManager.Instance.mainRoleInfo.name and Config.Guildwarkv["star_org_award"] and Config.Guildwarkv["star_org_award"]["value_content"] then
- local mvp_reward_list = stringtotable(Config.Guildwarkv["star_org_award"]["value_content"])
- local not_exit_list = {}
- for i,v in ipairs(mvp_reward_list) do
- local is_exit = false
- for ii,vv in ipairs(reward_list) do
- if v[1] == vv[11] and v[2] == vv[2] then
- vv[3] = vv[3] + v[3]
- is_exit = true
- break
- end
- end
- if not is_exit then
- table.insert(not_exit_list, v)
- end
- end
- if #not_exit_list > 0 then
- for i,v in ipairs(not_exit_list) do
- table.insert(reward_list, v)
- end
- end
- end
-
- --积分榜奖励
- local score_reward_list = self.model:GuildWarGetScoreRewardByRank(self.data.my_rank)
- if score_reward_list and #score_reward_list > 0 then
- local not_exit_list = {}
- for i,v in ipairs(score_reward_list) do
- local is_exit = false
- for ii,vv in ipairs(reward_list) do
- if v[1] == vv[11] and v[2] == vv[2] then
- vv[3] = vv[3] + v[3]
- is_exit = true
- break
- end
- end
- if not is_exit then
- table.insert(not_exit_list, v)
- end
- end
- if #not_exit_list > 0 then
- for i,v in ipairs(not_exit_list) do
- table.insert(reward_list, v)
- end
- end
- end
-
- --击杀榜奖励
- local kill_reward_list = self.model:GuildWarGetKillRewardByRank(self.data.kill_rank)
- if kill_reward_list and #kill_reward_list > 0 then
- local not_exit_list = {}
- for i,v in ipairs(kill_reward_list) do
- local is_exit = false
- for ii,vv in ipairs(reward_list) do
- if v[1] == vv[11] and v[2] == vv[2] then
- vv[3] = vv[3] + v[3]
- is_exit = true
- break
- end
- end
- if not is_exit then
- table.insert(not_exit_list, v)
- end
- end
- if #not_exit_list > 0 then
- for i,v in ipairs(not_exit_list) do
- table.insert(reward_list, v)
- end
- end
- end
-
-
- if #reward_list > 0 then
- for i,v in ipairs(reward_list) do
- local item = self.item_list[i]
- if item == nil then
- item = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem, self.Content)
- self.item_list[i] = item
- end
- local goods_Id, lock = GoodsModel:getInstance():GetMappingTypeId(v[1], v[2])
- local goodVo = GoodsModel:getInstance():GetGoodsBasicByTypeId(goods_Id)
- if goodVo then
- item:SetItemSize(78, 78)
- item:SetData(goodVo.type_id, v[3] , goodVo.color, nil, lock)
- item:SetVisible(true)
- item:SetAnchoredPosition((i - 1) * 87,0)
- end
- end
- for i=#reward_list + 1,#self.item_list do
- self.item_list[i]:SetVisible(false)
- end
- end
- end
|