122 lines
3.3 KiB
Lua
122 lines
3.3 KiB
Lua
local uiCtrl = require_ex('UI/Panels/Base/UICtrl')
|
|
local PANEL_ID = PanelId.SettlementCommonToast
|
|
local settlementSystem = GameInstance.player.settlementSystem
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SettlementCommonToastCtrl = HL.Class('SettlementCommonToastCtrl', uiCtrl.UICtrl)
|
|
|
|
local MAIN_HUD_TOAST_TYPE = "SettlementToast"
|
|
|
|
|
|
SettlementCommonToastCtrl.m_timerId = HL.Field(HL.Any) << nil
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SettlementCommonToastCtrl.s_messages = HL.StaticField(HL.Table) << {
|
|
[MessageConst.INTERRUPT_MAIN_HUD_ACTION_QUEUE] = 'InterruptMainHudActionQueue',
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
SettlementCommonToastCtrl.OnCreate = HL.Override(HL.Any) << function(self, arg)
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SettlementCommonToastCtrl._OnShowLink = HL.StaticMethod(HL.Table) << function(args)
|
|
local inQueue = args[4]
|
|
if inQueue then
|
|
LuaSystemManager.mainHudActionQueue:AddRequest(MAIN_HUD_TOAST_TYPE, function()
|
|
SettlementCommonToastCtrl._InternalOnShowLink(args, true)
|
|
end)
|
|
else
|
|
SettlementCommonToastCtrl._InternalOnShowLink(args, false)
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
SettlementCommonToastCtrl._InternalOnShowLink = HL.StaticMethod(HL.Table, HL.Boolean) << function(args, inQueue)
|
|
local self = UIManager:AutoOpen(PANEL_ID)
|
|
self.view.linkNode.gameObject:SetActiveIfNecessary(true)
|
|
self.view.levelUpNode.gameObject:SetActiveIfNecessary(false)
|
|
|
|
local settlementId, mainText, subText = args[1], args[2], args[3]
|
|
if subText then
|
|
subText = Language[subText]
|
|
subText = subText or Language.LUA_SETTLEMENT_LINK_AND_UNLOCK
|
|
self.view.unlockSubText.text = subText
|
|
end
|
|
|
|
if settlementId ~= nil then
|
|
mainText = mainText or Tables.settlementBasicDataTable[settlementId].settlementName
|
|
end
|
|
self.view.unlockMainText.text = mainText
|
|
self.view.interlinkageAniWrapper:Play("unlock_toast", function()
|
|
self:PlayAnimationOutWithCallback(function()
|
|
self:Close()
|
|
if inQueue then
|
|
Notify(MessageConst.ON_ONE_MAIN_HUD_ACTION_FINISHED, MAIN_HUD_TOAST_TYPE)
|
|
end
|
|
end)
|
|
end)
|
|
AudioAdapter.PostEvent("Au_UI_Toast_SettlementCommonToastPanel_Unlock_Open")
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SettlementCommonToastCtrl._OnShowUpgrade = HL.StaticMethod(HL.Table) << function(args)
|
|
local self = UIManager:AutoOpen(PANEL_ID)
|
|
self.view.linkNode.gameObject:SetActiveIfNecessary(false)
|
|
self.view.levelUpNode.gameObject:SetActiveIfNecessary(true)
|
|
|
|
local settlementId, mainText = unpack(args)
|
|
if settlementId ~= nil then
|
|
if not mainText then
|
|
AudioAdapter.PostEvent("Au_UI_Toast_SettlementCommonToastPanel_LevelUp_Open")
|
|
end
|
|
mainText = mainText or Tables.settlementBasicDataTable[settlementId].settlementName
|
|
local level = settlementSystem:GetSettlementLevel(settlementId)
|
|
self.view.levelText.text = tostring(level)
|
|
self.view.levelText2.text = tostring(level + 1)
|
|
self.view.textOpenLv.gameObject:SetActive(false)
|
|
end
|
|
self.view.levelUpMainText.text = mainText
|
|
self.view.levelUpAniWrapper:Play("level_up_toast", function()
|
|
self:PlayAnimationOutWithCallback(function()
|
|
self:Close()
|
|
end)
|
|
end)
|
|
end
|
|
|
|
|
|
|
|
SettlementCommonToastCtrl.InterruptMainHudActionQueue = HL.Method() << function(self)
|
|
self.animationWrapper:ClearTween(false)
|
|
self:Close()
|
|
end
|
|
|
|
HL.Commit(SettlementCommonToastCtrl)
|