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

218 lines
7.1 KiB

SupremeVipMainView = SupremeVipMainView or BaseClass(BaseItem)
local SupremeVipMainView = SupremeVipMainView
function SupremeVipMainView:__init()
self.base_file = "supremeVip"
self.layout_file = "SupremeVipMainView"
self.model = SupremeVipModel:getInstance()
self.item_list = {}
self.seven_item_list = {}
self:Load()
end
function SupremeVipMainView:Load_callback()
self.nodes = {
"des1Img:img",
"normalCon/dailyGiftBg:img",
"normalCon/getRewardBtn:obj:img", -- 领奖按钮
"normalCon/rewardCon", --奖励展示框
"normalCon/getRewardBtn/getRewardRed:obj",
"normalCon/desc:tmp",
"normalCon:obj", "sevenCon:obj", "sevenCon/sevenRewardCon",
}
self:GetChildren(self.nodes)
self.getReward_tmp = self:GetChild("normalCon/getRewardBtn/Text"):GetComponent("TextMeshProUGUI")
lua_resM:setOutsideImageSprite(self,self.dailyGiftBg_img,GameResPath.GetSupremeVipIcon("supremeVip_right_bg_short"),false,nil)
self.desc_tmp.text = SupremeVipConst.ViewDesc[SupremeVipConst.RED_DOT_TYPE.DailyGift] or ""
self:AddEvents()
if self.need_refreshData then
self:UpdateView()
end
end
function SupremeVipMainView:AddEvents( )
local on_click = function ( click_obj )
if self.getRewardBtn_obj == click_obj then -- 领奖
self:GetReward()
end
end
AddClickEvent(self.getRewardBtn_obj, on_click)
--刷新红点
local function on_update_red(tab_id)
if not self.is_loaded or self._use_delete_method then return end
if tab_id == SupremeVipConst.RED_DOT_TYPE.DailyGift then
self:UpdateBtnState()
self:UpdateRedDot()
end
end
self:BindEvent(self.model, SupremeVipConst.ANS_UPDATE_RED_DOT,on_update_red)
--刷新七日登录
local function on_update_view()
if not self.is_loaded or self._use_delete_method then return end
self:UpdateView()
end
self:BindEvent(self.model, SupremeVipConst.UPDATE_SUPREME_VIP_SEVEN_LOGIN_VIEW,on_update_view)
end
function SupremeVipMainView:UpdateRedDot( )
local red = self.model:GetDailyGiftRed()
self.getRewardRed_obj:SetActive(red)
end
--领取奖励
function SupremeVipMainView:GetReward( )
local rest_daily_gift_counts = self.model:GetExchangeRestCount(SupremeVipConst.ExchangeType.DailyGift)--拿到剩余的兑换次数
if self.model:IsForeverSupremeVip() then -- 永久贵族
if rest_daily_gift_counts > 0 then -- 还有兑换次数
self.model:Fire(SupremeVipConst.REQUEST_CCMD_EVENT,45103,1,0,0)
else
Message.show("领取次数已用完","fault")
end
else
if rest_daily_gift_counts > 0 then -- 还有兑换次数
self.model:Fire(SupremeVipConst.REQUEST_CCMD_EVENT,45103,1,0,0)
else
Alert.show("成为<#04bd27>二阶贵族</color>,可再领取一次<#ff6519>贵族专属礼包</color>", Alert.Type.Two, function()
self.model:Fire(SupremeVipConst.OPEN_SUPREME_VIP_BUY_VIEW)
end, nil, "前往升级", "取消")
end
end
end
function SupremeVipMainView:UpdateView( )
local login_days = self.model:GetSupremeVipSevenLoginDays()
if login_days > 7 then
lua_resM:setOutsideImageSprite(self,self.des1Img_img,GameResPath.GetSupremeVipIcon("supremeVip_des_10_pointfilter"),true)
SetAnchoredPosition(self.des1Img,142,172)
self.normalCon_obj:SetActive(true)
self.sevenCon_obj:SetActive(false)
self:UpdateDailyGiftCon()
self:UpdateBtnState()
else
lua_resM:setOutsideImageSprite(self,self.des1Img_img,GameResPath.GetSupremeVipIcon("supremeVip_des_11_pointfilter"),true)
SetAnchoredPosition(self.des1Img,126,193)
self.normalCon_obj:SetActive(false)
self.sevenCon_obj:SetActive(true)
self:UpdateSevenLogin()
end
self:UpdateRedDot()
end
function SupremeVipMainView:UpdateSevenLogin( )
for k,v in pairs(self.seven_item_list) do
v:SetVisible(false)
end
for i=1,7 do
local item = self.seven_item_list[i]
if not item then
item = SupremeVipSevenLoginItem.New(self.sevenRewardCon)
self.seven_item_list[i] = item
end
item:SetVisible(true)
item:SetData(i)
item:SetAnchoredPosition(-4+(i-1)*(86+13),0)
end
end
function SupremeVipMainView:UpdateBtnState( )
local rest_daily_gift_counts = self.model:GetExchangeRestCount(SupremeVipConst.ExchangeType.DailyGift)--拿到剩余的兑换次数
if not self.model:IsForeverSupremeVip() then -- 一阶贵族
if rest_daily_gift_counts <= 0 then
self.getReward_tmp.text = "再领一次"
SetImageGray(self.getRewardBtn_img,false)
-- lua_resM:setImageSprite(self, self.getRewardBtn_img, "alphaCommon_asset","tyui_btn_1")
-- SetTMPSharedMaterial(self.getReward_tmp, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkBlueBtn)
lua_resM:setImageSprite(self, self.getRewardBtn_img, "alphaCommon_asset","tyui_btn_2")
SetTMPSharedMaterial(self.getReward_tmp, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkOrangeBtn)
self.getRewardRed_obj:SetActive(false)
else
self.getReward_tmp.text = "立即领取"
SetImageGray(self.getRewardBtn_img,false)
lua_resM:setImageSprite(self, self.getRewardBtn_img, "alphaCommon_asset","tyui_btn_2")
SetTMPSharedMaterial(self.getReward_tmp, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkOrangeBtn)
self.getRewardRed_obj:SetActive(true)
end
else
if rest_daily_gift_counts == 2 then
self.getReward_tmp.text = "立即领取"
SetImageGray(self.getRewardBtn_img,false)
lua_resM:setImageSprite(self, self.getRewardBtn_img, "alphaCommon_asset","tyui_btn_2")
SetTMPSharedMaterial(self.getReward_tmp, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkOrangeBtn)
self.getRewardRed_obj:SetActive(true)
elseif rest_daily_gift_counts == 1 then
self.getReward_tmp.text = "再领一次"
SetImageGray(self.getRewardBtn_img,false)
lua_resM:setImageSprite(self, self.getRewardBtn_img, "alphaCommon_asset","tyui_btn_2")
SetTMPSharedMaterial(self.getReward_tmp, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkOrangeBtn)
self.getRewardRed_obj:SetActive(true)
else
self.getReward_tmp.text = "已领完"
SetImageGray(self.getRewardBtn_img,true)
lua_resM:setImageSprite(self, self.getRewardBtn_img, "alphaCommon_asset","tyui_btn_2")
SetTMPSharedMaterial(self.getReward_tmp, ShaderTools.TMPSharedMaterialType.FZZZOutlineDarkGrayBtn)
self.getRewardRed_obj:SetActive(false)
end
end
end
--刷新每日礼包展示
function SupremeVipMainView:UpdateDailyGiftCon( )
for k,v in pairs(self.item_list) do
v:SetVisible(false)
end
local daily_gift_cfg = self.model:GetDailyGiftCfg()
for i,v in ipairs(daily_gift_cfg) do
local item = self.item_list[i]
if not item then
item = UIObjPool:getInstance():PopItem(UIObjPool.UIType.AwardItem, self.rewardCon)
item:SetIsAct(true)
self.item_list[i] = item
end
item:SetItemSize(78, 78)
item:SetVisible(true)
local goods_type_id = v[2]
local goods_num = v[3]
item:SetData(goods_type_id,goods_num)
item:SetDataWithMapId(goods_type_id,goods_num,v[1])
end
end
function SupremeVipMainView:SetData( data )
self.data = data
if self.is_loaded then
self.need_refreshData = false
self:UpdateView()
else
self.need_refreshData = true
end
end
function SupremeVipMainView:__delete( )
for k,v in pairs(self.item_list) do
if v then
UIObjPool:getInstance():PushItem(UIObjPool.UIType.AwardItem, v)
v = nil
end
end
self.item_list = {}
for i, v in ipairs(self.seven_item_list) do
v:DeleteMe()
end
self.seven_item_list = {}
end