154 lines
7.1 KiB
Lua
154 lines
7.1 KiB
Lua
local util = require "cjson.util"
|
|
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.activation = Util.GetGameObject(self.gameObject, "bg/activation")
|
|
self.btnActivation = Util.GetGameObject(self.activation, "btn")
|
|
self.btnActivationRedpoint = Util.GetGameObject(self.btnActivation, "redPoint")
|
|
self.slider = Util.GetGameObject(self.activation, "slider/Image"):GetComponent("Image")
|
|
self.progress = Util.GetGameObject(self.activation, "slider/progress"):GetComponent("Text")
|
|
|
|
--领取
|
|
self.receive = Util.GetGameObject(self.gameObject,"bg/receive")
|
|
self.btnReceive = Util.GetGameObject(self.receive, "btn")
|
|
self.btnReceiveText = Util.GetGameObject(self.btnReceive,"Text"):GetComponent("Text")
|
|
self.receiveTime = Util.GetGameObject(self.receive, "time"):GetComponent("Text")
|
|
|
|
self.rewardContent = Util.GetGameObject(self.receive,"rewardContent")
|
|
|
|
self.smallDay1 = Util.GetGameObject(self.gameObject, "bg/day/Text1"):GetComponent("Text")
|
|
self.smallDay2 = Util.GetGameObject(self.gameObject, "bg/day/Text2"):GetComponent("Text")
|
|
|
|
--倒计时
|
|
self.time = Util.GetGameObject(self.gameObject, "time/Text"):GetComponent("Text")
|
|
|
|
self.itemList = {}
|
|
end
|
|
|
|
function MonthCardPage:OnShow()
|
|
self.gameObject:SetActive(true)
|
|
Game.GlobalEvent:AddEvent(GameEvent.MoneyPay.OnPayResultSuccess, self.RefreshStoneShow, 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
|
|
if GetChannelConfig().RechargeNum_Mode == 1 then
|
|
self.smallDay1.text = GetLanguageStrById(50421) .." ".. monthCardConFig[MONTH_CARD_TYPE.MONTHCARD].Price[2] .." ".. GetLanguageStrById(50422).." "
|
|
else
|
|
self.smallDay1.text = GetLanguageStrById(11476) .." ".. monthCardConFig[MONTH_CARD_TYPE.MONTHCARD].Price[2]*10 .." ".. GetLanguageStrById(11477).." "
|
|
end
|
|
self.smallDay2.text = GetLanguageStrById(11478) .." ".. monthCardConFig[MONTH_CARD_TYPE.MONTHCARD].BaseReward[1][2] .." ".. GetLanguageStrById(12635) .. "</color>"
|
|
|
|
local MonthCardEndTime = OperatingManager.EndTimejudgment(MONTH_CARD_TYPE.MONTHCARD)
|
|
self.btnActivationRedpoint:SetActive(OperatingManager.RefreshMonthCardRedPoint(MONTH_CARD_TYPE.MONTHCARD))
|
|
|
|
if not curMonthCardOpenState then
|
|
self.smallDay1.gameObject:SetActive(true)
|
|
self.receive:SetActive(false)
|
|
self.activation:SetActive(true)
|
|
self.time.text = ""
|
|
if GetChannelConfig().RechargeNum_Mode == 1 then
|
|
self.progress.text = GetLanguageStrById(50423)..OperatingManager.GetmonthSaveAmt() .."/"..monthCardConFig[MONTH_CARD_TYPE.MONTHCARD].Price[2]
|
|
else
|
|
self.progress.text = GetLanguageStrById(12564)..OperatingManager.GetmonthSaveAmt()*10 .."/"..monthCardConFig[MONTH_CARD_TYPE.MONTHCARD].Price[2]*10
|
|
end
|
|
self.slider.fillAmount = OperatingManager.GetmonthSaveAmt()/monthCardConFig[MONTH_CARD_TYPE.MONTHCARD].Price[2]
|
|
Util.SetGray(self.btnActivation, false)
|
|
else
|
|
self.smallDay1.gameObject:SetActive(false)
|
|
self.receive:SetActive(true)
|
|
self.activation:SetActive(false)
|
|
self.btnReceiveText.text = GetLanguageStrById(11481)
|
|
|
|
local residueTimeNum = MonthCardEndTime- GetTimeStamp()
|
|
|
|
local dayNum = math.floor(residueTimeNum / (24 * 3600))
|
|
local startDate = os.date(GetLanguageStrById(11030),curAllMonthCardData[MONTH_CARD_TYPE.MONTHCARD].endingTime)
|
|
local endDate = os.date(GetLanguageStrById(11030),MonthCardEndTime-1)
|
|
|
|
if dayNum > 0 then
|
|
self.time.text = GetLanguageStrById(11492)..startDate.."-"..endDate
|
|
if dayNum>=30 then
|
|
dayNum=29
|
|
end
|
|
self.receiveTime.text = string.format(GetLanguageStrById(11480), dayNum, GetLanguageStrById(10021))
|
|
else
|
|
self.receiveTime.text = ""
|
|
if self.timer then
|
|
self.timer:Stop()
|
|
self.timer = nil
|
|
end
|
|
self.timer = Timer.New(function()
|
|
self.time.text = GetLanguageStrById(10028)..TimeStampToDateStr3(residueTimeNum)
|
|
if residueTimeNum < 0 then
|
|
OperatingManager.RefreshMonthCardEnd()
|
|
self:RefreshStoneShow()
|
|
self.timer:Stop()
|
|
self.timer = nil
|
|
end
|
|
residueTimeNum = residueTimeNum - 1
|
|
end, 1, -1, true)
|
|
self.timer:Start()
|
|
end
|
|
if curAllMonthCardData[MONTH_CARD_TYPE.MONTHCARD].state == 0 then
|
|
Util.SetGray(self.btnReceive, false)
|
|
self.btnReceive:GetComponent("Button").enabled = true
|
|
self.btnReceiveText.text = GetLanguageStrById(11481)
|
|
elseif curAllMonthCardData[MONTH_CARD_TYPE.MONTHCARD].state == 1 then
|
|
Util.SetGray(self.btnReceive, true)
|
|
self.btnReceive:GetComponent("Button").enabled = false
|
|
self.btnReceiveText.text = GetLanguageStrById(10350)
|
|
end
|
|
end
|
|
|
|
if self.itemList[self.gameObject] then
|
|
self.itemList[self.gameObject]:OnOpen(false, {monthCardConFig[MONTH_CARD_TYPE.MONTHCARD].BaseReward[1][1],monthCardConFig[MONTH_CARD_TYPE.MONTHCARD].BaseReward[1][2]}, 1,false,false,false,self.mainPanel.sortingOrder)
|
|
self.itemList[self.gameObject].gameObject:SetActive(true)
|
|
else
|
|
self.itemList[self.gameObject] = {}
|
|
self.itemList[self.gameObject] = SubUIManager.Open(SubUIConfig.ItemView, self.rewardContent.transform)
|
|
self.itemList[self.gameObject].gameObject:SetActive(true)
|
|
self.itemList[self.gameObject]:OnOpen(false, {monthCardConFig[MONTH_CARD_TYPE.MONTHCARD].BaseReward[1][1],monthCardConFig[MONTH_CARD_TYPE.MONTHCARD].BaseReward[1][2]}, 1,false,false,false,self.mainPanel.sortingOrder)
|
|
end
|
|
Util.AddOnceClick(self.btnActivation, function()
|
|
-- JumpManager.GoJump(27001)
|
|
JumpManager.GoJump(36006)
|
|
end)
|
|
|
|
Util.AddOnceClick(self.btnReceive,function ()
|
|
if curAllMonthCardData[MONTH_CARD_TYPE.MONTHCARD].state == 0 then
|
|
NetManager.MonthCardTakeDailyRequest(MONTH_CARD_TYPE.MONTHCARD, function(drop)
|
|
ThinkingAnalyticsManager.Track("activity_newmoon",{
|
|
activity_newmoon_id = MONTH_CARD_TYPE.MONTHCARD
|
|
})
|
|
|
|
OperatingManager.SetMonthCardGetStateData(MONTH_CARD_TYPE.MONTHCARD,1)
|
|
UIManager.OpenPanel(UIName.RewardItemPopup,drop,1,function()
|
|
self:RefreshStoneShow()
|
|
end)
|
|
end)
|
|
end
|
|
end)
|
|
end
|
|
|
|
function MonthCardPage:OnHide()
|
|
if self.timer then
|
|
self.timer:Stop()
|
|
self.timer = nil
|
|
end
|
|
self.gameObject:SetActive(false)
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.MoneyPay.OnPayResultSuccess, self.RefreshStoneShow, self)
|
|
end
|
|
|
|
return MonthCardPage |