diff --git a/lua/app/ui/main_city/main_city_ui.lua b/lua/app/ui/main_city/main_city_ui.lua index 170d402e..16003828 100644 --- a/lua/app/ui/main_city/main_city_ui.lua +++ b/lua/app/ui/main_city/main_city_ui.lua @@ -923,6 +923,12 @@ function MainCityUI:checkMainPop() if self:checkGift() then return end + + -- 金猪满了后下次进主城要弹出来 + if DataManager.GoldPigData:getPopFlag() then + DataManager.GoldPigData:markPop() + ModuleManager.ActivityManager:showGoldPigUI() + end end -- 检查引导 diff --git a/lua/app/userdata/activity/gold_pig/gold_pig_data.lua b/lua/app/userdata/activity/gold_pig/gold_pig_data.lua index 34b7a24f..f937cd14 100644 --- a/lua/app/userdata/activity/gold_pig/gold_pig_data.lua +++ b/lua/app/userdata/activity/gold_pig/gold_pig_data.lua @@ -22,6 +22,7 @@ function GoldPigData:init(data, initOnLogin) self.data.buyTime = (data.buy_at or 0) // 1000 self.endTime = 0 self.nextShowTime = 0 + self.popFlag = false DataManager:unregisterDataCd("GoldPigData") self:checkOpen() if not initOnLogin then @@ -88,6 +89,17 @@ function GoldPigData:getIsOpen() return self.data.isOpen end +function GoldPigData:getPopFlag() + if not self:getIsOpen() then + return false + end + return self.popFlag +end + +function GoldPigData:markPop() + self.popFlag = false +end + function GoldPigData:addGoldPigCount() if not self.data.isOpen and not self:tryActiveGoldPig() then return @@ -107,6 +119,7 @@ function GoldPigData:addGoldPigCount() self.data.fullTime = Time:getServerTime() self.endTime = self.data.fullTime + self:getDuration() self.nextShowTime = self.endTime + self:getTimeOverCD() + self.popFlag = true DataManager:registerDataCd("GoldPigData") end end @@ -206,6 +219,7 @@ function GoldPigData:levelDown() self.data.count = currLevelInfo.min_diamond self.lastCount = self.data.count self.maxCount = self:getMaxCount() + self.popFlag = false end function GoldPigData:getEndTime()