|
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
|