595 lines
25 KiB
Lua
595 lines
25 KiB
Lua
local EveryDayGiftNew = {}
|
||
local rechargeNum = 0
|
||
local growData = {}
|
||
local rechargeCommodityConfig = ConfigManager.GetConfig(ConfigName.RechargeCommodityConfig)
|
||
local onKeyPackId = 545
|
||
function EveryDayGiftNew:New(gameObject)
|
||
local b = {}
|
||
b.gameObject = gameObject
|
||
b.transform = gameObject.transform
|
||
setmetatable(b, { __index = EveryDayGiftNew })
|
||
return b
|
||
end
|
||
|
||
--添加事件监听(用于子类重写)
|
||
function EveryDayGiftNew:AddListener()
|
||
Game.GlobalEvent:AddEvent(GameEvent.MoneyPay.OnPayResultSuccess,self.SetGrowGift,self)
|
||
end
|
||
|
||
--移除事件监听(用于子类重写)
|
||
function EveryDayGiftNew:RemoveListener()
|
||
Game.GlobalEvent:RemoveEvent(GameEvent.MoneyPay.OnPayResultSuccess,self.SetGrowGift,self)
|
||
end
|
||
|
||
function EveryDayGiftNew:InitComponent()
|
||
self.spLoader = SpriteLoader.New()
|
||
Util.GetGameObject(self.gameObject, "rzyBg"):SetActive(false)
|
||
Util.GetGameObject(self.gameObject, "curObj"):SetActive(false)
|
||
Util.GetGameObject(self.gameObject, "GameObject"):SetActive(false)
|
||
Util.GetGameObject(self.gameObject, "Image"):SetActive(true)
|
||
self.newPage = Util.GetGameObject(self.gameObject, "newPage")
|
||
self.newPage:SetActive(true)
|
||
self.itemPre = Util.GetGameObject(self.newPage,"ItemPre")
|
||
--===================成长礼包================
|
||
self.grow = Util.GetGameObject(self.newPage,"growPack/Content")
|
||
self.tip = Util.GetGameObject(self.grow,"Tip"):GetComponent("Text")
|
||
self.icon = Util.GetGameObject(self.grow,"Icon"):GetComponent("Image")
|
||
self.Level = Util.GetGameObject(self.grow,"Icon/Level"):GetComponent("Text")
|
||
self.name = Util.GetGameObject(self.grow,"Name"):GetComponent("Image")
|
||
self.name.sprite=self.spLoader:LoadSprite("gm_mingwang_title")
|
||
self.progress = Util.GetGameObject(self.grow,"Progress/Image")
|
||
self.value = Util.GetGameObject(self.grow,"Progress/Text"):GetComponent("Text")
|
||
self.reward = Util.GetGameObject(self.grow,"Reward")
|
||
self.btnLeft = Util.GetGameObject(self.grow,"btnLeft")
|
||
self.btnRight = Util.GetGameObject(self.grow,"btnRight")
|
||
self.btnGet = Util.GetGameObject(self.grow,"btnGet")
|
||
self.price = Util.GetGameObject(self.btnGet,"cost/Text"):GetComponent("Text")
|
||
self.cost = Util.GetGameObject(self.btnGet,"cost")
|
||
self.btnText = Util.GetGameObject(self.btnGet,"Text")
|
||
self.btnRed = Util.GetGameObject(self.btnGet,"red")
|
||
self.leftRed = Util.GetGameObject(self.btnLeft,"Red")
|
||
self.rightRed = Util.GetGameObject(self.btnRight,"Red")
|
||
|
||
--=================Rewards=================
|
||
self.Reward = Util.GetGameObject(self.newPage,"Reward")
|
||
self.Reward:GetComponent("RectTransform").sizeDelta = Vector2.New(1080,864.7)
|
||
self.Reward:GetComponent("RectTransform").localPosition = Vector3.New(0,209,-100)
|
||
self.endTimeBg = Util.GetGameObject(self.newPage,"growPack/Time")
|
||
self.endTime = Util.GetGameObject(self.endTimeBg,"Text"):GetComponent("Text")
|
||
|
||
self.ItemList = {}
|
||
self.sortingOrder = 0
|
||
|
||
--=================extraTitle================
|
||
self.extarTitle = Util.GetGameObject(self.newPage,"extarTitle")
|
||
self.extarTitle:SetActive(false)
|
||
self.extarFreeBtn = Util.GetGameObject(self.extarTitle,"freeBtn")
|
||
self.freeBtnAnim = Util.GetGameObject(self.extarFreeBtn,"UI_effect_TanSuo_Box"):GetComponent("Animator")
|
||
self.freeBtnRed = Util.GetGameObject(self.extarFreeBtn,"redPoint")
|
||
self.extarStoreBtn = Util.GetGameObject(self.extarTitle,"Bg/store")
|
||
self.extarBg = Util.GetGameObject(self.extarTitle,"Bg")
|
||
self.UI_Effect_jinkuang_Yuan = Util.GetGameObject(self.extarStoreBtn, "UI_Effect_jinkuang_Yuan")
|
||
self.extarOneKeyBtn = Util.GetGameObject(self.extarTitle,"Bg/oneKey/oneKeyBtn")
|
||
self.allSaoGuang = Util.GetGameObject(self.extarOneKeyBtn, "saoguang")
|
||
self.extarOneKeyprice1 = Util.GetGameObject(self.extarTitle,"Bg/oneKey/nowPrice"):GetComponent("Text")
|
||
self.extarOneKeyprice2 = Util.GetGameObject(self.extarTitle,"Bg/oneKey/oriPrice"):GetComponent("Text")
|
||
self.jiantou=Util.GetGameObject(self.gameObject, "jiantou")
|
||
self.lightList = {
|
||
Util.GetGameObject(self.freeBtnAnim.gameObject,"bg_ray"),
|
||
Util.GetGameObject(self.freeBtnAnim.gameObject,"yinying/ray 1"),
|
||
Util.GetGameObject(self.freeBtnAnim.gameObject,"yinying/ray 2"),
|
||
Util.GetGameObject(self.freeBtnAnim.gameObject,"yinying/ray 3"),
|
||
Util.GetGameObject(self.freeBtnAnim.gameObject,"yinying/ray 4"),
|
||
}
|
||
self.hintObj=Util.GetGameObject(self.gameObject, "hint")
|
||
self.hintTxt=Util.GetGameObject(self.gameObject, "hint/Text"):GetComponent("Text")
|
||
end
|
||
|
||
function EveryDayGiftNew:BindEvent()
|
||
Util.AddOnceClick(self.extarOneKeyBtn,function ()
|
||
if self.actType ~= FUNCTION_OPEN_TYPE.MeiRiLiBao then return end
|
||
PayManager.Pay(onKeyPackId, function(id)
|
||
FirstRechargeManager.RefreshAccumRechargeValue(onKeyPackId)
|
||
PlayerPrefs.SetInt(PlayerManager.uid.."czlb", 0)
|
||
CheckRedPointStatus(RedPointType.GrowthPackage)
|
||
MonthCardManager.CheckMonthCardPatFace()
|
||
self:RefreshData(nil,false,false)
|
||
end)
|
||
end)
|
||
Util.AddOnceClick(self.extarStoreBtn,function()
|
||
if self.actType ~= FUNCTION_OPEN_TYPE.MeiRiLiBao then return end
|
||
JumpManager.GoJump(40020)
|
||
end)
|
||
end
|
||
|
||
--界面打开时调用(用于子类重写)
|
||
function EveryDayGiftNew:OnOpen(_activityConfig,_index,parent)
|
||
self.actConfig = _activityConfig
|
||
self.pageIndex = _index
|
||
self.parent = parent
|
||
self.gameObject.name = "EveryDayGiftNew"..self.actConfig.Id
|
||
if self.actConfig.Id==89 or self.actConfig.Id==61 or self.actConfig.Id==60 or self.actConfig.Id==67 then
|
||
self.jiantou.gameObject:SetActive(true)
|
||
local jiantouAnim = self.jiantou.gameObject:GetComponent(typeof(PlayFlyAnim))
|
||
jiantouAnim:PlayAnim(false)
|
||
end
|
||
end
|
||
|
||
function EveryDayGiftNew:OnSortingOrderChange(_sortingOrder)
|
||
self.sortingOrder = _sortingOrder
|
||
Util.SetParticleSortLayer(self.UI_Effect_jinkuang_Yuan, _sortingOrder + 1)
|
||
end
|
||
|
||
-- 打开,重新打开时回调
|
||
function EveryDayGiftNew:OnShow(_sortingOrder)
|
||
self.gameObject:SetActive(true)
|
||
self.sortingOrder = _sortingOrder or self.sortingOrder
|
||
self.actId = self.actConfig.ActId
|
||
self.actType = self.actConfig.ActiveType > 0 and self.actConfig.ActiveType or self.actConfig.FunType
|
||
if self.actConfig.IfBack == 1 then
|
||
if self.actConfig.ActiveType > 0 then
|
||
local id = ActivityGiftManager.IsActivityTypeOpen(self.actConfig.ActiveType)
|
||
if id and id > 0 then
|
||
self.actId = id
|
||
local config = ConfigManager.TryGetConfigDataByThreeKey(ConfigName.ActivityGroups,"PageType",self.actConfig.PageType,"ActiveType",self.actConfig.ActiveType,"ActId",id)
|
||
if config then
|
||
self.actConfig = config
|
||
end
|
||
end
|
||
end
|
||
end
|
||
self.parent.tabbox.gameObject:SetActive(true)
|
||
|
||
self:RefreshData(nil,true,true)
|
||
end
|
||
|
||
function EveryDayGiftNew:RefreshData(none,isTop,isAni)
|
||
if self.actConfig.RpType > 0 then
|
||
CheckRedPointStatus(self.actConfig.RpType)
|
||
end
|
||
--成长礼包检测,现在放到每个页签,所有都要检测
|
||
VipManager.SetGrowthPackagePointStatus()
|
||
CheckRedPointStatus(RedPointType.GrowthPackage)
|
||
self.shopData = DynamicActivityManager.GetGiftDataByType(self.actConfig.ShopData)
|
||
--成长礼包
|
||
self:SetGrowGift()
|
||
self.hintObj:SetActive(false)
|
||
--特殊处理部分
|
||
Log("actType:"..tostring(self.actType))
|
||
if self.actType == FUNCTION_OPEN_TYPE.MeiRiLiBao then
|
||
self.extarTitle:SetActive(true)
|
||
--每日礼
|
||
self:RefreshFreeData()
|
||
-- 刷新一键购买显示
|
||
self:RefreshOneKeyShow()
|
||
self.Reward:GetComponent("RectTransform").sizeDelta = Vector2.New(1080,659)
|
||
self.Reward:GetComponent("RectTransform").localPosition = Vector3.New(0,202,-100)
|
||
end
|
||
if self.actType == 98 then
|
||
self.extarTitle:SetActive(true)
|
||
self.extarBg:SetActive(false)
|
||
self.hintObj:SetActive(true)
|
||
self.hintTxt.text="特权只生效当前激活最高的特权,不会相互叠加"
|
||
self:RefreshFreeData()
|
||
end
|
||
if not self.scrollView then
|
||
--更改完空间大小后再生成滚动条
|
||
local rootHight = self.Reward.transform.rect.height
|
||
local width = self.Reward.transform.rect.width
|
||
self.scrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, self.Reward.transform,
|
||
self.itemPre, nil, Vector2.New(width, rootHight), 1, 1, Vector2.New(0, 10))
|
||
self.scrollView.moveTween.MomentumAmount = 1
|
||
self.scrollView.moveTween.Strength = 2
|
||
self.scrollView.elastic = false
|
||
end
|
||
|
||
-- 刷新剩余时间
|
||
self:GetRemainTime()
|
||
-- 刷新商品数据
|
||
self:RefreshGiftData(isTop,isAni)
|
||
|
||
|
||
end
|
||
|
||
--==============================成长礼包部分==========================(rechargeViewNew和EveryDayGiftNew中有完全相同的部分,复制过去)
|
||
function EveryDayGiftNew:SetGrowGift()
|
||
growData = DynamicActivityManager.GetGiftDataByType({{2,95}})
|
||
local rechargeNum = BagManager.GetItemCountById(1351) --VipManager.GetChargedNum()--已经充值的金额
|
||
table.sort(growData,function (a,b)
|
||
return a.data.shopItemData.BuyRule[2] < b.data.shopItemData.BuyRule[2]
|
||
end)
|
||
--LogError("DynamicActivityManager.curLevel=="..DynamicActivityManager.curLevel)
|
||
--计算当前声望等级
|
||
if DynamicActivityManager.curLevel == 0 or DynamicActivityManager.curLevel == 1 then
|
||
for i = 1, #growData do
|
||
if rechargeNum < DynamicActivityManager.GetMingWangLv(growData[i].data.shopItemData.BuyRule[2]) then
|
||
if rechargeNum ~= 0 then
|
||
DynamicActivityManager.curLevel = i
|
||
if DynamicActivityManager.Index == 0 then
|
||
DynamicActivityManager.Index = DynamicActivityManager.curLevel
|
||
end
|
||
break
|
||
else
|
||
DynamicActivityManager.curLevel = 1
|
||
DynamicActivityManager.Index = 1
|
||
end
|
||
end
|
||
end
|
||
end
|
||
--如果所有都没有,说明超范围了
|
||
if DynamicActivityManager.curLevel == 0 then
|
||
DynamicActivityManager.curLevel = #growData
|
||
if DynamicActivityManager.Index == 0 then
|
||
DynamicActivityManager.Index = DynamicActivityManager.curLevel
|
||
end
|
||
end
|
||
|
||
Log("当前声望Level:"..tostring(DynamicActivityManager.curLevel).." Index:"..tostring(DynamicActivityManager.Index))
|
||
--如果有当前声望数据,就显示,没有就显示上一档位
|
||
-- local data = not not growData[DynamicActivityManager.Index] and growData[DynamicActivityManager.Index] or growData[DynamicActivityManager.Index-1]
|
||
local data=growData[DynamicActivityManager.Index]
|
||
if data==nil then
|
||
return
|
||
end
|
||
self:RefreshReward(data)
|
||
|
||
Util.AddOnceClick(self.btnLeft,function ()
|
||
if growData[DynamicActivityManager.Index - 1] then
|
||
DynamicActivityManager.Index = DynamicActivityManager.Index - 1
|
||
self:RefreshReward(growData[DynamicActivityManager.Index])
|
||
end
|
||
end)
|
||
Util.AddOnceClick(self.btnRight,function ()
|
||
if growData[DynamicActivityManager.Index + 1] then
|
||
DynamicActivityManager.Index = DynamicActivityManager.Index + 1
|
||
self:RefreshReward(growData[DynamicActivityManager.Index])
|
||
end
|
||
end)
|
||
end
|
||
--刷新奖励、按钮显示
|
||
function EveryDayGiftNew:RefreshReward(Data)
|
||
local rechargeNum =BagManager.GetItemCountById(1351) --VipManager.GetChargedNum()--已经充值的金额
|
||
self.btnLeft:SetActive(not not growData[DynamicActivityManager.Index - 1])--左按钮显示
|
||
self.btnRight:SetActive(not not growData[DynamicActivityManager.Index + 1])--右按钮显示
|
||
-- LogPink(DynamicActivityManager.Index.." 金额:"..tostring(Data.data.shopItemData.BuyRule[2]).." 限购:"..tostring(Data.data.limitNum).." 已购:"..tostring(Data.data.boughtNum).." rechargeNum:"..tostring(rechargeNum))
|
||
local text = 1
|
||
local num = 0
|
||
if DynamicActivityManager.Index < 2 then
|
||
num = growData[1].data.shopItemData.BuyRule[2]
|
||
elseif DynamicActivityManager.Index + 1 > #growData then
|
||
text = #growData
|
||
num = growData[#growData].data.shopItemData.BuyRule[2]
|
||
else
|
||
text = DynamicActivityManager.Index
|
||
num = growData[DynamicActivityManager.Index].data.shopItemData.BuyRule[2]
|
||
end
|
||
num=DynamicActivityManager.GetMingWangLv(num)
|
||
local aaa=growData[DynamicActivityManager.curLevel].data.shopItemData.BuyRule[2]
|
||
if DynamicActivityManager.curLevel <= 2 then
|
||
--self.tip.text = string.format("再获得%s积分升至名望1",num - rechargeNum)
|
||
elseif DynamicActivityManager.curLevel >= #growData and rechargeNum >= DynamicActivityManager.GetMingWangLv(aaa) then
|
||
--self.tip.text = ""
|
||
else
|
||
--self.tip.text = string.format("再获得%s积分升至名望%s",DynamicActivityManager.GetMingWangLv(aaa) - rechargeNum,DynamicActivityManager.curLevel+1)
|
||
end
|
||
self.tip.text="每充值1元可以获得10点名望经验"
|
||
local size = rechargeNum/num
|
||
size = size > 1 and 1 or size
|
||
-- LogRed(DynamicActivityManager.Index.." #growData:"..tostring(#growData).." text:"..tostring(text))
|
||
self.icon.sprite = self.spLoader:LoadSprite("UI_hz_huizhang")
|
||
self.Level.text=text
|
||
self.progress:GetComponent("RectTransform").sizeDelta = Vector3.New(483*size,12,0)
|
||
self.value.text = string.format("%s/%s",rechargeNum,num)
|
||
self.price.text = Data.data.price
|
||
self.btnRed:SetActive(false)
|
||
local needNum=DynamicActivityManager.GetMingWangLv(Data.data.shopItemData.BuyRule[2]-1)
|
||
if Data.data.limitNum - Data.data.boughtNum > 0 then
|
||
self.btnText:SetActive(false)
|
||
self.cost:SetActive(true)
|
||
self.btnGet:GetComponent("Button").interactable = true
|
||
Util.SetGray(self.btnGet, false)
|
||
if rechargeNum >= needNum then
|
||
-- self.btnGet:GetComponent("Image").sprite = self.spLoader:LoadSprite("s_slbz_1anniuongse")
|
||
if BagManager.GetTotalItemNum(Data.data.costId) >= Data.data.price then
|
||
self.btnRed:SetActive(true)
|
||
end
|
||
else
|
||
-- self.btnGet:GetComponent("Image").sprite = self.spLoader:LoadSprite("s_slbz_1anniuhuangse")
|
||
end
|
||
else
|
||
self.btnText:SetActive(true)
|
||
self.cost:SetActive(false)
|
||
self.btnGet:GetComponent("Button").interactable = false
|
||
Util.SetGray(self.btnGet, true)
|
||
end
|
||
|
||
Util.AddOnceClick(self.btnGet,function ()
|
||
-- LogGreen(tostring(Data.data.limitNum).." "..tostring(Data.data.boughtNum))
|
||
if Data.data.limitNum - Data.data.boughtNum > 0 then
|
||
-- LogYellow(tostring(rechargeNum).." "..tostring(Data.data.shopItemData.BuyRule[2]))
|
||
if rechargeNum >= needNum then
|
||
-- LogPink(tostring(BagManager.GetItemCountById(Data.data.costId)).." "..tostring(Data.data.price))
|
||
if BagManager.GetItemCountById(Data.data.costId) >= Data.data.price then
|
||
-- LogBlue(tostring(Data.data.shopItemData.buyType).." "..tostring(Data.data.shopData.id))
|
||
ShopManager.RequestBuyShopItem(Data.buyType, Data.data.shopData.id, 1, function()
|
||
self:SetGrowGift()
|
||
CheckRedPointStatus(RedPointType.DailyGift)
|
||
CheckRedPointStatus(RedPointType.GrowthPackage)
|
||
end)
|
||
else
|
||
NotEnoughPopup:Show(Data.data.costId)
|
||
end
|
||
else
|
||
PopupTipPanel.ShowTip(string.format("名望等级不足,请升至%s级后才可购买!",DynamicActivityManager.Index))
|
||
end
|
||
end
|
||
end)
|
||
|
||
|
||
if not self.ItemList then
|
||
self.ItemList = {}
|
||
end
|
||
for i = 1, #self.ItemList do
|
||
self.ItemList[i].gameObject:SetActive(false)
|
||
end
|
||
for i = 1, #Data.data.shows do
|
||
if not self.ItemList[i] then
|
||
self.ItemList[i] = SubUIManager.Open(SubUIConfig.ItemView,self.reward.transform)
|
||
end
|
||
self.ItemList[i]:OnOpen(false, {Data.data.shows[i][1],Data.data.shows[i][2],Data.data.shows[i][3]}, 0.9,false,false,false,self.sortingOrder)
|
||
self.ItemList[i].gameObject:SetActive(true)
|
||
end
|
||
|
||
--左右按钮红点检测
|
||
if growData[DynamicActivityManager.Index - 1] then
|
||
for i = DynamicActivityManager.Index - 1, 1,-1 do
|
||
local curData = growData[i]
|
||
if curData.data.limitNum - curData.data.boughtNum > 0 and
|
||
BagManager.GetTotalItemNum(curData.data.costId) >= curData.data.price and
|
||
rechargeNum >=DynamicActivityManager.GetMingWangLv(curData.data.shopItemData.BuyRule[2]-1) then
|
||
self.leftRed:SetActive(true)
|
||
break
|
||
else
|
||
self.leftRed:SetActive(false)
|
||
end
|
||
end
|
||
end
|
||
if growData[DynamicActivityManager.Index + 1] then
|
||
for i = DynamicActivityManager.Index + 1, 20 do
|
||
local curData = growData[i]
|
||
if curData and curData.data.limitNum - curData.data.boughtNum > 0 and
|
||
BagManager.GetTotalItemNum(curData.data.costId) >= curData.data.price and
|
||
rechargeNum >=DynamicActivityManager.GetMingWangLv(curData.data.shopItemData.BuyRule[2]-1) then
|
||
self.rightRed:SetActive(true)
|
||
break
|
||
else
|
||
self.rightRed:SetActive(false)
|
||
end
|
||
end
|
||
end
|
||
end
|
||
|
||
--===============================通用礼包数据==========================
|
||
-- 刷新礼包的数据
|
||
function EveryDayGiftNew:RefreshGiftData(isTop,isAni)
|
||
rechargeNum = VipManager.GetChargedNum()--已经充值的金额
|
||
self.scrollView:ForeachItemGO(function(growIndex, go)
|
||
go.gameObject:SetActive(false)
|
||
end)
|
||
|
||
local callBack = function(growIndex, item)
|
||
self:RefreshShowData(item, self.shopData[growIndex],growIndex)
|
||
end
|
||
local growIndex = 0
|
||
self.scrollView:SetData(self.shopData, callBack,not isTop,not isAni)
|
||
for i = 1 ,#self.shopData do
|
||
if self.shopData[i].DataType == DynamicActivityManager.selectIndex.dataType then
|
||
for j = 1 , #DynamicActivityManager.selectIndex.goodsId do
|
||
if (self.shopData[i].data.shopData.id or self.shopData[i].data.shopData.goodsId) == DynamicActivityManager.selectIndex.goodsId[j] then
|
||
DynamicActivityManager.SetSelectIndex(0,{},1)
|
||
growIndex = i
|
||
break
|
||
end
|
||
end
|
||
end
|
||
if growIndex ~= 0 then
|
||
break
|
||
end
|
||
end
|
||
if growIndex ~= 0 then
|
||
self.scrollView:SetIndex(growIndex)
|
||
end
|
||
end
|
||
|
||
--刷新每一条的显示数据
|
||
function EveryDayGiftNew:RefreshShowData(item,_data,growIndex)
|
||
if not self.ItemList then
|
||
self.ItemList = {}
|
||
end
|
||
if not self.ItemList[item] then
|
||
local subConfig = SubUIConfig[self.actConfig.UIName[2]]
|
||
self.ItemList[item] = SubUIManager.Open(subConfig,item.transform)
|
||
end
|
||
if not _data then
|
||
item.gameObject:SetActive(false)
|
||
return
|
||
end
|
||
item.gameObject:SetActive(true)
|
||
self.ItemList[item]:SetData(_data,self,rechargeNum,self.sortingOrder)
|
||
end
|
||
|
||
--每种礼包的剩余时间
|
||
function EveryDayGiftNew:GetRemainTime()
|
||
if self.actConfig.ShowTime == 0 then
|
||
self.endTimeBg.gameObject:SetActive(false)
|
||
return
|
||
end
|
||
self.endTimeBg.gameObject:SetActive(true)
|
||
--判断是否有timer
|
||
if self.localTimer then
|
||
self.localTimer:Stop()
|
||
self.localTimer = nil
|
||
end
|
||
local la = self.actConfig.ShowTime ~= 1 and Language[10023] or Language[11355]
|
||
if self.actConfig.ActiveType == ActivityTypeDef.XinRenShop then
|
||
la = "结束时间:"
|
||
end
|
||
local freshTime = 0
|
||
--此时间是七日礼包刷新时间
|
||
-- local packFreshTime = 0
|
||
|
||
if self.shopData and #self.shopData > 0 then
|
||
freshTime = self.shopData[#self.shopData].data.endTime - GetTimeStamp()
|
||
end
|
||
-- local actData = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.MeiRiTeHui)
|
||
-- if actData then
|
||
-- packFreshTime = actData.endTime - GetTimeStamp()
|
||
-- end
|
||
--灵兽宝阁的珍奇宝阁礼包刷新时间显示
|
||
if self.actId == 5501 then
|
||
freshTime = TimeToCurWeekEnd()
|
||
end
|
||
self.endTime.text = la..TimeToFelaxible(freshTime)
|
||
self.localTimer = Timer.New(function ()
|
||
self.endTime.text = la..TimeToFelaxible(freshTime)
|
||
if freshTime <= 0 then
|
||
if self.actConfig.ActiveType > 0 then
|
||
local id = ActivityGiftManager.IsActivityTypeOpen(self.actConfig.ActiveType)
|
||
if id then
|
||
self:RefreshData(nil,true,true)
|
||
else
|
||
self.parent:ClosePanel()
|
||
end
|
||
end
|
||
self:RefreshData(nil,true,true)
|
||
end
|
||
-- if actData then
|
||
-- self.btn2Text.text = string.format("剩余%s天",math.ceil(packFreshTime/86400))
|
||
-- else
|
||
-- self.btn2Text.text = string.format("60元七天特惠")
|
||
-- end
|
||
freshTime = freshTime - 1
|
||
-- packFreshTime = packFreshTime - 1
|
||
end, 1, -1, true)
|
||
self.localTimer:Start()
|
||
end
|
||
|
||
|
||
--==============================每日特惠特殊处理部分===================
|
||
--刷新一键购买显示
|
||
function EveryDayGiftNew:RefreshOneKeyShow()
|
||
Util.SetParticleSortLayer(self.UI_Effect_jinkuang_Yuan, self.sortingOrder + 1)
|
||
Util.SetGray(self.extarOneKeyBtn,false)
|
||
self.extarOneKeyBtn:GetComponent("Button").interactable = true
|
||
self.allSaoGuang:SetActive(false)
|
||
-- 计算总价
|
||
local ori = 0
|
||
for i = 1 , #self.shopData do
|
||
ori = ori + self.shopData[i].data.finalNum
|
||
end
|
||
-- 计算现价
|
||
local now = 0
|
||
now = now + MoneyUtil.GetMoney(ConfigManager.GetConfigData(ConfigName.RechargeCommodityConfig,onKeyPackId).Price)
|
||
|
||
self.extarOneKeyprice2.text = Language[10582] .. string.format(MoneyUtil.GetMoneyUnitName(),ori)
|
||
self.extarOneKeyprice1.text = Language[10644] .. string.format(MoneyUtil.GetMoneyUnitName(),now)
|
||
|
||
for i = 1, #self.shopData do
|
||
if self.shopData[i].data.boughtNum > 0 then
|
||
Util.SetGray(self.extarOneKeyBtn,true)
|
||
self.extarOneKeyBtn:GetComponent("Button").interactable = false
|
||
self.allSaoGuang:SetActive(false)
|
||
break
|
||
end
|
||
end
|
||
|
||
end
|
||
|
||
--刷新每日免费礼包
|
||
function EveryDayGiftNew:RefreshFreeData()
|
||
local type=0
|
||
if self.actType==90 then
|
||
type=SHOP_TYPE.FREE_GIFT
|
||
elseif self.actType==98 then
|
||
type=35
|
||
end
|
||
local freeData = ShopManager.GetShopDataByType(type).storeItem
|
||
local boughtNum = ShopManager.GetShopItemHadBuyTimes(type, freeData[1].id)
|
||
local limitNum = ShopManager.GetShopItemLimitBuyCount(freeData[1].id)
|
||
--LogError("freeData[1].id=="..freeData[1].id)
|
||
local isCanBuy = limitNum - boughtNum >= 1
|
||
self.freeBtnAnim.enabled = isCanBuy
|
||
self.freeBtnRed:SetActive(isCanBuy)
|
||
-- 光效显隐
|
||
for _, light in ipairs(self.lightList) do
|
||
light:SetActive(isCanBuy)
|
||
end
|
||
CheckRedPointStatus(RedPointType.DailyGift)
|
||
Util.AddOnceClick(self.extarFreeBtn,function()
|
||
if isCanBuy then
|
||
ShopManager.RequestBuyShopItem(type, freeData[1].id, 1, function()
|
||
self:RefreshFreeData()
|
||
CheckRedPointStatus(RedPointType.DailyGift)
|
||
CheckRedPointStatus(RedPointType.GrowthPackage)
|
||
end)
|
||
end
|
||
end)
|
||
end
|
||
--============================================================================================
|
||
|
||
|
||
function EveryDayGiftNew:OnClose()
|
||
CheckRedPointStatus(RedPointType.TimeLimitWishStore)
|
||
if self.localTimer then
|
||
self.localTimer:Stop()
|
||
self.localTimer = nil
|
||
end
|
||
self.gameObject:SetActive(false)
|
||
self.parent.tabbox.gameObject:SetActive(true)
|
||
|
||
end
|
||
|
||
function EveryDayGiftNew:OnDestroy()
|
||
self.spLoader:Destroy()
|
||
for k,v in pairs(self.ItemList) do
|
||
SubUIManager.Close(v)
|
||
end
|
||
self.ItemList = {}
|
||
if self.scrollView then
|
||
SubUIManager.Close(self.scrollView)
|
||
end
|
||
self.scrollView=nil
|
||
if self.localTimer then
|
||
self.localTimer:Stop()
|
||
self.localTimer = nil
|
||
end
|
||
end
|
||
|
||
--特权商城专属
|
||
function EveryDayGiftNew:SpecialTime(t)
|
||
if not t or t < 0 then
|
||
return Language[11749]
|
||
end
|
||
local _sec = t % 60
|
||
local allMin = math.floor(t / 60)
|
||
local _min = allMin % 60
|
||
local allHour = math.floor(t / 3600)
|
||
local _hour = allHour % 24
|
||
local allDays = math.floor(t / 86400)
|
||
|
||
if allDays>=1 then
|
||
return string.format(Language[11703],allDays),allDays
|
||
else
|
||
if _hour>=1 then
|
||
return string.format(Language[11704], _hour), _hour
|
||
else
|
||
if _min>=1 then
|
||
return string.format(Language[11705], _min), _min
|
||
else
|
||
return Language[12152]
|
||
end
|
||
end
|
||
end
|
||
return Language[11749]
|
||
end
|
||
return EveryDayGiftNew |