198 lines
10 KiB
Lua
198 lines
10 KiB
Lua
local MonthCardPage = quick_class("MonthCardPage")
|
|
local addTimeNum = 30 * 24 * 60 * 60
|
|
|
|
local monthCardConFig = ConfigManager.GetConfig(ConfigName.MonthcardConfig)
|
|
function MonthCardPage:ctor(mainPanel,gameObject)
|
|
self.mainPanel = mainPanel
|
|
self.gameObject = gameObject
|
|
--月卡
|
|
self.smallMonth = Util.GetGameObject(self.gameObject, "smallImg/small")
|
|
self.smallProgress = Util.GetGameObject(self.smallMonth, "progress")
|
|
self.smallBtnText = Util.GetGameObject(self.smallMonth, "Text"):GetComponent("Text")
|
|
self.smallTime = Util.GetGameObject(self.smallMonth, "time")
|
|
self.smallDay1 = Util.GetGameObject(self.gameObject, "smallImg/day/Text1"):GetComponent("Text")
|
|
self.smallDay2 = Util.GetGameObject(self.gameObject, "smallImg/day/Text2"):GetComponent("Text")
|
|
self.smallDayIcon = Util.GetGameObject(self.gameObject, "smallImg/day/icon"):GetComponent("Image")
|
|
self.smallMonthRedPot = Util.GetGameObject(self.gameObject, "small/redPoint")
|
|
self.smallDayRightUpText = Util.GetGameObject(self.gameObject, "smallImg/Image/Text"):GetComponent("Text")
|
|
self.smallDayRightUpIcon = Util.GetGameObject(self.gameObject, "smallImg/Image/icon"):GetComponent("Image")
|
|
--豪华月卡
|
|
self.bigMonth = Util.GetGameObject(self.gameObject, "bigImg/big")
|
|
self.bigProgress = Util.GetGameObject(self.bigMonth, "progress")
|
|
self.bigBtnText = Util.GetGameObject(self.bigMonth, "Text"):GetComponent("Text")
|
|
self.bigTime = Util.GetGameObject(self.bigMonth, "time")
|
|
self.bigDay1 = Util.GetGameObject(self.gameObject, "bigImg/day/Text1"):GetComponent("Text")
|
|
self.bigDay2 = Util.GetGameObject(self.gameObject, "bigImg/day/Text2"):GetComponent("Text")
|
|
self.bigDayIcon = Util.GetGameObject(self.gameObject, "bigImg/day/icon"):GetComponent("Image")
|
|
self.bigMonthRedPot = Util.GetGameObject(self.gameObject, "big/redPoint")
|
|
self.bigDayRightUpText = Util.GetGameObject(self.gameObject, "bigImg/Image/Text"):GetComponent("Text")
|
|
self.bigDayRightUpIcon = Util.GetGameObject(self.gameObject, "bigImg/Image/icon"):GetComponent("Image")
|
|
end
|
|
|
|
function MonthCardPage:OnShow()
|
|
self.gameObject:SetActive(true)
|
|
Game.GlobalEvent:AddEvent(GameEvent.MoneyPay.OnPayResultSuccess, self.BuySuccess, self)
|
|
-- 刷新显示
|
|
|
|
--差红点 差 倒计时关闭刷新
|
|
|
|
|
|
OperatingManager.RefreshMonthCardEnd()
|
|
self:RefreshStoneShow()
|
|
end
|
|
|
|
-- 妖晶数量显示
|
|
function MonthCardPage:RefreshStoneShow()
|
|
|
|
local curAllMonthCardData = OperatingManager.GetMonthCardData()
|
|
--月卡
|
|
local curMonthCardOpenState = curAllMonthCardData[MONTH_CARD_TYPE.MONTHCARD] and curAllMonthCardData[MONTH_CARD_TYPE.MONTHCARD].endingTime ~= 0
|
|
self.smallDay1.text = Language[11476].. monthCardConFig[MONTH_CARD_TYPE.MONTHCARD].Price ..Language[11477]
|
|
self.smallDay2.text = Language[11478]..monthCardConFig[MONTH_CARD_TYPE.MONTHCARD].BaseReward[1][2] .."</color>"
|
|
self.smallDayIcon.sprite = Util.LoadSprite(GetResourcePath(ConfigManager.GetConfigData(ConfigName.ItemConfig,monthCardConFig[MONTH_CARD_TYPE.MONTHCARD].BaseReward[1][1]).ResourceID))
|
|
self.smallProgress:SetActive(not curMonthCardOpenState)
|
|
self.smallDayRightUpText = monthCardConFig[MONTH_CARD_TYPE.MONTHCARD].ContiueDays * monthCardConFig[MONTH_CARD_TYPE.MONTHCARD].BaseReward[1][2]
|
|
self.smallDayRightUpIcon = SetIcon(monthCardConFig[MONTH_CARD_TYPE.MONTHCARD].BaseReward[1][1])
|
|
--LogError("月卡累计总额 "..OperatingManager.GetmonthSaveAmt().." ".. OperatingManager.GetsmonthSaveAmt())
|
|
self.smallProgress:GetComponent("Text").text = "("..OperatingManager.GetmonthSaveAmt().."/"..monthCardConFig[MONTH_CARD_TYPE.MONTHCARD].Price..")"
|
|
self.smallMonthRedPot:SetActive(OperatingManager.RefreshMonthCardRedPoint(MONTH_CARD_TYPE.MONTHCARD))
|
|
if not curMonthCardOpenState then
|
|
self.smallBtnText.text = Language[11479]
|
|
self.smallTime:SetActive(false)
|
|
Util.SetGray(self.smallMonth,false)
|
|
self.smallMonth:GetComponent("Button").enabled = true
|
|
else
|
|
self.smallBtnText.text = Language[11479]
|
|
self.smallTime:SetActive(true)
|
|
local residueTimeNum = curAllMonthCardData[MONTH_CARD_TYPE.MONTHCARD].endingTime + addTimeNum - GetTimeStamp()
|
|
local dayNum = math.floor(residueTimeNum / (24 * 3600))
|
|
if dayNum > 0 then
|
|
self.smallTime:GetComponent("Text").text = Language[11480] .. dayNum ..Language[10021]
|
|
else
|
|
self:SetMonthCardTimes(residueTimeNum)
|
|
end
|
|
if curAllMonthCardData[MONTH_CARD_TYPE.MONTHCARD].state == 0 then
|
|
Util.SetGray(self.smallMonth,false)
|
|
self.smallMonth:GetComponent("Button").enabled = true
|
|
Util.GetGameObject(self.smallMonth, "Text"):GetComponent("Text").text = Language[11481]
|
|
elseif curAllMonthCardData[MONTH_CARD_TYPE.MONTHCARD].state == 1 then
|
|
Util.SetGray(self.smallMonth,true)
|
|
self.smallMonth:GetComponent("Button").enabled = false
|
|
Util.GetGameObject(self.smallMonth, "Text"):GetComponent("Text").text = Language[10350]
|
|
end
|
|
end
|
|
Util.AddOnceClick(self.smallMonth, function()
|
|
if not curMonthCardOpenState then
|
|
JumpManager.GoJump(27001)
|
|
else
|
|
if curAllMonthCardData[MONTH_CARD_TYPE.MONTHCARD].state == 0 then
|
|
NetManager.MonthCardTakeDailyRequest(MONTH_CARD_TYPE.MONTHCARD, function(drop)
|
|
OperatingManager.SetMonthCardGetStateData(MONTH_CARD_TYPE.MONTHCARD,1)
|
|
UIManager.OpenPanel(UIName.RewardItemPopup,drop,1,function()
|
|
self:RefreshStoneShow()
|
|
end)
|
|
end)
|
|
end
|
|
end
|
|
end)
|
|
--豪华月卡
|
|
local curLuxuryMonthCardOpenState = curAllMonthCardData[MONTH_CARD_TYPE.LUXURYMONTHCARD] and curAllMonthCardData[MONTH_CARD_TYPE.LUXURYMONTHCARD].endingTime ~= 0
|
|
self.bigProgress:SetActive(not curLuxuryMonthCardOpenState)
|
|
self.bigProgress:GetComponent("Text").text = "("..OperatingManager.GetsmonthSaveAmt().."/"..monthCardConFig[MONTH_CARD_TYPE.LUXURYMONTHCARD].Price..")"
|
|
self.bigDayRightUpText = monthCardConFig[MONTH_CARD_TYPE.LUXURYMONTHCARD].ContiueDays * monthCardConFig[MONTH_CARD_TYPE.LUXURYMONTHCARD].BaseReward[1][2]
|
|
self.bigDayRightUpIcon = SetIcon(monthCardConFig[MONTH_CARD_TYPE.LUXURYMONTHCARD].BaseReward[1][1])
|
|
self.bigDay1.text = Language[11476].. monthCardConFig[MONTH_CARD_TYPE.LUXURYMONTHCARD].Price ..Language[11477]
|
|
self.bigDay2.text = Language[11478]..monthCardConFig[MONTH_CARD_TYPE.LUXURYMONTHCARD].BaseReward[1][2] .."</color>"
|
|
self.bigDayIcon.sprite = Util.LoadSprite(GetResourcePath(ConfigManager.GetConfigData(ConfigName.ItemConfig,monthCardConFig[MONTH_CARD_TYPE.LUXURYMONTHCARD].BaseReward[1][1]).ResourceID))
|
|
self.bigMonthRedPot:SetActive(OperatingManager.RefreshMonthCardRedPoint(MONTH_CARD_TYPE.LUXURYMONTHCARD))
|
|
if not curLuxuryMonthCardOpenState then
|
|
self.bigBtnText.text = Language[11479]
|
|
self.bigTime:SetActive(false)
|
|
Util.SetGray(self.bigMonth,false)
|
|
self.bigMonth:GetComponent("Button").enabled = true
|
|
else
|
|
self.bigBtnText.text = Language[11479]
|
|
self.bigTime:SetActive(true)
|
|
local residueTimeNum = curAllMonthCardData[MONTH_CARD_TYPE.LUXURYMONTHCARD].endingTime + addTimeNum - GetTimeStamp()
|
|
local dayLuxuryNum = math.floor( residueTimeNum/ (24 * 3600))
|
|
if dayLuxuryNum > 0 then
|
|
self.bigTime:GetComponent("Text").text = Language[11480] .. dayLuxuryNum ..Language[10021]
|
|
else
|
|
self:SetLuxuryMonthCardTimes(residueTimeNum)
|
|
end
|
|
if curAllMonthCardData[MONTH_CARD_TYPE.LUXURYMONTHCARD].state == 0 then
|
|
Util.SetGray(self.bigMonth,false)
|
|
self.bigMonth:GetComponent("Button").enabled = true
|
|
Util.GetGameObject(self.bigMonth, "Text"):GetComponent("Text").text = Language[11481]
|
|
elseif curAllMonthCardData[MONTH_CARD_TYPE.LUXURYMONTHCARD].state == 1 then
|
|
Util.SetGray(self.bigMonth,true)
|
|
self.bigMonth:GetComponent("Button").enabled = false
|
|
Util.GetGameObject(self.bigMonth, "Text"):GetComponent("Text").text = Language[10350]
|
|
end
|
|
end
|
|
Util.AddOnceClick(self.bigMonth, function()
|
|
if not curLuxuryMonthCardOpenState then
|
|
JumpManager.GoJump(27001)
|
|
else
|
|
if curAllMonthCardData[MONTH_CARD_TYPE.LUXURYMONTHCARD].state == 0 then
|
|
NetManager.MonthCardTakeDailyRequest(MONTH_CARD_TYPE.LUXURYMONTHCARD, function(drop)
|
|
OperatingManager.SetMonthCardGetStateData(MONTH_CARD_TYPE.LUXURYMONTHCARD,1)
|
|
UIManager.OpenPanel(UIName.RewardItemPopup,drop,1,function()
|
|
self:RefreshStoneShow()
|
|
end)
|
|
end)
|
|
end
|
|
end
|
|
end)
|
|
end
|
|
--月卡倒计时
|
|
function MonthCardPage:SetMonthCardTimes(timeNums)
|
|
if self.timer then
|
|
self.timer:Stop()
|
|
self.timer = nil
|
|
end
|
|
self.timer = Timer.New(function()
|
|
self.smallTime:GetComponent("Text").text = Language[10028]..TimeStampToDateStr3(timeNums)
|
|
if timeNums < 0 then
|
|
OperatingManager.RefreshMonthCardEnd()
|
|
self:RefreshStoneShow()
|
|
self.timer:Stop()
|
|
self.timer = nil
|
|
end
|
|
timeNums = timeNums - 1
|
|
end, 1, -1, true)
|
|
self.timer:Start()
|
|
end
|
|
--豪华月卡倒计时
|
|
function MonthCardPage:SetLuxuryMonthCardTimes(timeNums)
|
|
if self.timerL then
|
|
self.timerL:Stop()
|
|
self.timerL = nil
|
|
end
|
|
self.timerL = Timer.New(function()
|
|
self.bigTime:GetComponent("Text").text = Language[10028]..TimeStampToDateStr3(timeNums)
|
|
if timeNums < 0 then
|
|
OperatingManager.RefreshMonthCardEnd()
|
|
self:RefreshStoneShow()
|
|
self.timerL:Stop()
|
|
self.timerL = nil
|
|
end
|
|
timeNums = timeNums - 1
|
|
end, 1, -1, true)
|
|
self.timerL:Start()
|
|
end
|
|
|
|
function MonthCardPage:OnHide()
|
|
if self.timer then
|
|
self.timer:Stop()
|
|
self.timer = nil
|
|
end
|
|
if self.timerL then
|
|
self.timerL:Stop()
|
|
self.timerL = nil
|
|
end
|
|
self.gameObject:SetActive(false)
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.MoneyPay.OnPayResultSuccess, self.BuySuccess, self)
|
|
end
|
|
|
|
return MonthCardPage |