require("Base/BasePanel") EnergyBaseUpLevel = Inherit(BasePanel) local this = EnergyBaseUpLevel local BaseLevelConfig = ConfigManager.GetConfig(ConfigName.BaseLevelConfig) local BaseResourceConfig = ConfigManager.GetConfig(ConfigName.BaseResourceConfig) local cost = nil function EnergyBaseUpLevel:InitComponent() this.mask = Util.GetGameObject(this.gameObject, "mask") this.btnBack = Util.GetGameObject(this.gameObject, "btnBack") this.btnUpLv = Util.GetGameObject(this.gameObject, "bg/btnUpLv") this.cost = Util.GetGameObject(this.gameObject, "bg/cost") this.group = Util.GetGameObject(this.gameObject, "bg/tip/group") this.tip = Util.GetGameObject(this.gameObject, "bg/tip/group/tip") end function EnergyBaseUpLevel:BindEvent() Util.AddClick(this.mask, function() self:ClosePanel() end) Util.AddClick(this.btnBack, function() self:ClosePanel() end) Util.AddClick(this.btnUpLv, function() local baseInfo = EnergyBaseManager.GetBaseInfo() local data = BaseLevelConfig[baseInfo.baseLevel].Cost if BagManager.GetItemCountById(data[1]) < data[2] then PopupTipPanel.ShowTip(GetLanguageStrById(50466)) return end EnergyBaseManager.BaseLevelUp(0, function (msg) local args = EnergyBaseManager.GetBaseInfo() if args.baseLevel >= EnergyBaseManager.baseMaxLv then self:ClosePanel() else self:OnShow() end Game.GlobalEvent:DispatchEvent(GameEvent.Energy.BaseOrFacilityUpLv) end) end) end function EnergyBaseUpLevel:AddListener() end function EnergyBaseUpLevel:RemoveListener() end function EnergyBaseUpLevel:OnOpen() end function EnergyBaseUpLevel:OnShow() local baseInfo = EnergyBaseManager.GetBaseInfo() local data = BaseLevelConfig[baseInfo.baseLevel].Cost if not cost then cost = SubUIManager.Open(SubUIConfig.ItemView, this.cost.transform) end cost:OnOpen(false, data, 0.6) cost:CompareNum(BagManager.GetItemCountById(data[1]), data[2]) end function EnergyBaseUpLevel:OnClose() end function EnergyBaseUpLevel:OnDestroy() cost = nil end return this