miduo_client/Assets/ManagedResources/~Lua/Modules/Operating/MonthCardPage.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