95 lines
2.5 KiB
Lua
95 lines
2.5 KiB
Lua
|
|
local uiCtrl = require_ex('UI/Panels/Base/UICtrl')
|
|
local PANEL_ID = PanelId.FacHongsBusUpgradePopup
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FacHongsBusUpgradePopupCtrl = HL.Class('FacHongsBusUpgradePopupCtrl', uiCtrl.UICtrl)
|
|
|
|
local BUS_FREE_ID = "log_hongs_bus"
|
|
local BUS_START_ID = "log_hongs_bus_source"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FacHongsBusUpgradePopupCtrl.s_messages = HL.StaticField(HL.Table) << {
|
|
|
|
}
|
|
|
|
|
|
FacHongsBusUpgradePopupCtrl.m_busFreeData = HL.Field(HL.Table)
|
|
|
|
|
|
FacHongsBusUpgradePopupCtrl.m_popItemList = HL.Field(HL.Table)
|
|
|
|
|
|
FacHongsBusUpgradePopupCtrl.m_popItemIndex = HL.Field(HL.Number) << 1
|
|
|
|
|
|
|
|
|
|
|
|
FacHongsBusUpgradePopupCtrl.OnCreate = HL.Override(HL.Any) << function(self, arg)
|
|
self.m_popItemList = arg.popItemList
|
|
self.m_busFreeData = arg.busFreeData
|
|
self.m_popItemIndex = 1
|
|
local onClose = arg.onClose
|
|
|
|
self.view.bgClick.onClick:AddListener(function()
|
|
if self.m_popItemIndex < #self.m_popItemList then
|
|
self.m_popItemIndex = self.m_popItemIndex + 1
|
|
self:_UpdateContent()
|
|
else
|
|
if onClose ~= nil then
|
|
onClose()
|
|
end
|
|
self:PlayAnimationOutAndClose()
|
|
end
|
|
end)
|
|
|
|
self:_UpdateContent()
|
|
|
|
self.view.controllerHintPlaceholder:InitControllerHintPlaceholder({ self.view.inputGroup.groupId })
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FacHongsBusUpgradePopupCtrl._UpdateContent = HL.Method() << function(self)
|
|
local busInfo = self.m_popItemList[self.m_popItemIndex]
|
|
if self.m_busFreeData ~= nil then
|
|
local oldNum = self.m_busFreeData[busInfo.buildingId]
|
|
self.view.mainController:SetState(oldNum == 0 and "unlock" or "uplevel")
|
|
self.view.oldText.text = oldNum
|
|
self.view.newText.text = oldNum + busInfo.count
|
|
self.view.busFree.gameObject:SetActiveIfNecessary(busInfo.buildingId == BUS_FREE_ID)
|
|
self.view.busStart.gameObject:SetActiveIfNecessary(busInfo.buildingId == BUS_START_ID)
|
|
local success, buildingData = Tables.factoryBuildingTable:TryGetValue(busInfo.buildingId)
|
|
if success then
|
|
self.view.buildingName.text = buildingData.name
|
|
local tips = oldNum == 0 and Language.LUA_HONGS_BUS_POPUP_UNLOCK_TIPS or Language.LUA_HONGS_BUS_POPUP_UPLEVEL_TIPS
|
|
self.view.tipsText.text = string.format(tips, buildingData.name)
|
|
end
|
|
self:PlayAnimation(oldNum == 0 and "fachongsbusupgrade_unlockin" or "fachongsbusupgrade_upin")
|
|
AudioAdapter.PostEvent("Au_UI_Popup_FacTechTreePopUpPanel_Open")
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
HL.Commit(FacHongsBusUpgradePopupCtrl)
|