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] .."" 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] .."" 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