|
GuildEventCollectView = GuildEventCollectView or BaseClass(BaseItem)
|
|
local GuildEventCollectView = GuildEventCollectView
|
|
|
|
function GuildEventCollectView:__init()
|
|
self.base_file = "guild"
|
|
self.layout_file = "GuildEventCollectView"
|
|
self.model = GuildModel:getInstance()
|
|
|
|
self.model:Fire(GuildModel.REQUEST_CCMD_EVENT,40802) --打开界面时要请求活动次数
|
|
|
|
self:Load()
|
|
end
|
|
|
|
function GuildEventCollectView:Load_callback()
|
|
self.nodes = {
|
|
"bg:raw",
|
|
"event_time:tmp",--活动时间
|
|
"activityTimes:tmp",--活动次数
|
|
"enter_btn/reddot:obj",
|
|
-- 活动奖励容器
|
|
"reward_scroll", "reward_scroll/Viewport/reward_con",
|
|
-- 入口按钮
|
|
"enter_btn:obj",
|
|
"help_btn:obj",
|
|
"title_txt_img:img",
|
|
}
|
|
self:GetChildren(self.nodes)
|
|
lua_resM:setOutsideRawImage(self, self.bg_raw, GameResPath.GetViewBigBg("guild_event_bg_408_0"), false)
|
|
lua_resM:setOutsideImageSprite(self,self.title_txt_img_img,GameResPath.GetGuildImage("guild_event_ad_txt_pointfilter"))
|
|
self:AddEvents()
|
|
if self.need_refresh_evt_time then
|
|
self:UpdateView()
|
|
self:UpdateEventTime()
|
|
end
|
|
|
|
end
|
|
|
|
function GuildEventCollectView:AddEvents( )
|
|
local on_click = function ( click_obj )
|
|
if self.enter_btn_obj == click_obj then -- 进入社团驻地场景
|
|
self.model:Fire(GuildModel.ENTER_GUILD_BASE)
|
|
elseif click_obj == self.help_btn_obj then
|
|
EventSystem.Fire(GlobalEventSystem,EventName.OPEN_INSTRUCTION_VIEW, 40801)
|
|
end
|
|
end
|
|
AddClickEvent(self.enter_btn_obj, on_click, LuaSoundManager.SOUND_UI.NONE)
|
|
AddClickEvent(self.help_btn_obj, on_click, LuaSoundManager.SOUND_UI.NONE)
|
|
|
|
local function onUpdateActivityTimes()
|
|
if not self.is_loaded then return end
|
|
self:UpdateActivityTimes()
|
|
end
|
|
self:BindEvent(self.model,GuildModel.UODATE_GUILD_COLLECT_ACTIVITY_TIMES,onUpdateActivityTimes)
|
|
|
|
local function update_nightboss_red(type)
|
|
if type == GuildEventType.NoonCollect then
|
|
self:UpdateRedDot()
|
|
end
|
|
end
|
|
self:BindEvent(self.model, GuildModel.UPDATE_RED_DOT_BY_TYPE, update_nightboss_red)
|
|
end
|
|
|
|
function GuildEventCollectView:UpdateView( )
|
|
self:UpdateActivityTimes()
|
|
self:UpdateRewardItem()
|
|
self:UpdateRedDot()
|
|
end
|
|
|
|
-- 刷新活动次数显示
|
|
function GuildEventCollectView:UpdateActivityTimes( )
|
|
local MaxCollectDayTimes = self.model:GetGuildCollectKvByKey("join_time_day").value
|
|
local NowCollectDayTimes = self.model:GetDayTotalCollectTimes()
|
|
local day_collect_color = NowCollectDayTimes < MaxCollectDayTimes and ColorUtil.GREEN_TIPS or ColorUtil.RED_DARK
|
|
local left_day_collect_times = MaxCollectDayTimes-NowCollectDayTimes >= 0 and MaxCollectDayTimes-NowCollectDayTimes or 0
|
|
local day_collect_str = left_day_collect_times.."/"..MaxCollectDayTimes
|
|
self.activityTimes_tmp.text =
|
|
"今日封印总次数:"..WordManager:AddColorToString(left_day_collect_times,day_collect_color,true).."<color=#ffffff>/"..MaxCollectDayTimes.."</color>"
|
|
end
|
|
|
|
--刷新活动时间显示
|
|
function GuildEventCollectView:UpdateEventTime( )
|
|
-- self.event_time_tmp.text = self.model:GetGuildEventOpenTime(self.evt_time_data.module_id, self.evt_time_data.module_sub)
|
|
local s_h = Split((Split(self.evt_time_data.time_str, "~")[1]),":")[1]
|
|
local s_m = Split((Split(self.evt_time_data.time_str, "~")[1]),":")[2]
|
|
local round = self.model:GetActivityRound(s_h,s_m)--获取活动场次
|
|
self.event_time_tmp.text = self.model:GetGuildEventCollectOpenTime(round)
|
|
end
|
|
|
|
-- 这里只传入活动日历中的活动时间相关数据,活动协议内容界面自己获取
|
|
function GuildEventCollectView:SetEventAcData( evt_time_data)
|
|
self.evt_time_data = evt_time_data
|
|
if self.is_loaded then
|
|
self.need_refresh_evt_time = false
|
|
self:UpdateView()
|
|
self:UpdateEventTime()
|
|
self:UpdateRedDot()
|
|
else
|
|
self.need_refresh_evt_time = true
|
|
end
|
|
end
|
|
|
|
function GuildEventCollectView:UpdateRewardItem( )
|
|
local reward_data = DailyModel.Instance:GetRewardList(408,0,1)
|
|
self.reward_item_creator = self.reward_item_creator or self:AddUIComponent(UI.ItemListCreator)
|
|
local info = {
|
|
data_list = reward_data,
|
|
item_con = self.reward_con,
|
|
scroll_view = self.reward_scroll,
|
|
obj_pool_type = UIObjPool.UIType.AwardItem,
|
|
item_width = 78,
|
|
-- item_height = 78,
|
|
start_x = 5,
|
|
start_y = -6,
|
|
space_x = 9,
|
|
create_frequency = 0.01,
|
|
alignment = UnityEngine.TextAnchor.UpperLeft,
|
|
on_update_item = function(item, i, v)
|
|
local goods_Id, lock = GoodsModel:getInstance():GetMappingTypeId(v[1], v[2])
|
|
local goodVo = GoodsModel:getInstance():GetGoodsBasicByTypeId(goods_Id)
|
|
if goodVo then
|
|
item:SetData(goodVo.type_id, v.count , goodVo.color, nil, lock)
|
|
end
|
|
end,
|
|
}
|
|
self.reward_item_creator:UpdateItems(info)
|
|
end
|
|
|
|
function GuildEventCollectView:UpdateRedDot( )
|
|
if self.is_loaded then
|
|
local s_h = Split((Split(self.evt_time_data.time_str, "~")[1]),":")[1]
|
|
local s_m = Split((Split(self.evt_time_data.time_str, "~")[1]),":")[2]
|
|
local round = self.model:GetActivityRound(s_h,s_m)--获取活动场次
|
|
-- self.reddot_obj:SetActive(self.model:GetGuildEventTabRed("408@"..round))
|
|
-- 2021.3.23 优化需求:社团活动页签不再给红点
|
|
self.reddot_obj:SetActive(false)
|
|
end
|
|
end
|
|
|
|
function GuildEventCollectView:__delete( )
|
|
|
|
end
|