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