Files
SL1900 7363298dc1 Update - 1.15.0.134
EN: 1.15.0.134
CN: 1.15.0.133
JP: 1.15.0.137
KR: 1.15.0.139
2026-09-08 12:00:00 +09:00

108 lines
3.2 KiB
Lua

local PenguinCardPauseCtrl = class("PenguinCardPauseCtrl", BaseCtrl)
local PenguinCardUtils = require("Game.UI.Play_PenguinCard.PenguinCardUtils")
PenguinCardPauseCtrl._mapNodeConfig = {
blur = {
sNodeName = "t_fullscreen_blur_blue"
},
aniBlur = {
sNodeName = "t_fullscreen_blur_blue",
sComponentName = "Animator"
},
btnCloseBg = {
sNodeName = "snapshot",
sComponentName = "UIButton",
callback = "OnBtnClick_Close"
},
txtWindowTitle = {
sComponentName = "TMP_Text",
sLanguageId = "PenguinCard_Title_Pause"
},
window = {},
aniWindow = {sNodeName = "window", sComponentName = "Animator"},
btnClose = {
sComponentName = "UIButton",
callback = "OnBtnClick_Close"
},
txtTurnTitle = {
sComponentName = "TMP_Text",
sLanguageId = "PenguinCard_EndlessPause_Level"
},
txtTurnCount = {sComponentName = "TMP_Text"},
txtLeftTurn = {sComponentName = "TMP_Text"},
txtTargetTitle = {
sComponentName = "TMP_Text",
sLanguageId = "PenguinCard_EndlessPause_Target"
},
goStar = {nCount = 3},
imgStarOff = {nCount = 3},
imgStarOn = {nCount = 3},
txtTarget = {nCount = 3, sComponentName = "TMP_Text"},
txtGameTarget = {sComponentName = "TMP_Text"},
btnGiveup = {
sComponentName = "UIButton",
callback = "OnBtnClick_Giveup"
},
txtBtnGiveup = {
sComponentName = "TMP_Text",
sLanguageId = "PenguinCard_Btn_EndlessGiveup"
},
btnRestart = {
sComponentName = "UIButton",
callback = "OnBtnClick_Close"
},
txtBtnRestart = {
sComponentName = "TMP_Text",
sLanguageId = "PenguinCard_Btn_EndlessContinue"
}
}
PenguinCardPauseCtrl._mapEventConfig = {}
function PenguinCardPauseCtrl:Open()
self._panel.mapLevel:Pause()
self:PlayInAni()
self:Refresh()
end
function PenguinCardPauseCtrl:Refresh()
NovaAPI.SetTMPText(self._mapNode.txtTurnCount, orderedFormat(ConfigTable.GetUIText("PenguinCard_EndlessPause_LevelTitle"), self._panel.mapLevel.nEndlessLevel))
local nScore = math.floor(self._panel.mapLevel:GetAimScore())
NovaAPI.SetTMPText(self._mapNode.txtGameTarget, orderedFormat(ConfigTable.GetUIText("PenguinCard_EndlessPause_TargetDesc"), self:ThousandsNumber(nScore)))
end
function PenguinCardPauseCtrl:PlayInAni()
self.gameObject:SetActive(true)
self._mapNode.blur:SetActive(true)
local wait = function()
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
self._mapNode.window:SetActive(true)
self._mapNode.aniWindow:Play("t_window_04_t_in")
end
cs_coroutine.start(wait)
EventManager.Hit(EventId.TemporaryBlockInput, 0.3)
end
function PenguinCardPauseCtrl:Close()
self._mapNode.aniWindow:Play("t_window_04_t_out")
self._mapNode.aniBlur:SetTrigger("tOut")
EventManager.Hit(EventId.TemporaryBlockInput, 0.2)
self:AddTimer(1, 0.2, function()
self._mapNode.window:SetActive(false)
self.gameObject:SetActive(false)
self._panel.mapLevel:Resume()
end, true, true, true)
end
function PenguinCardPauseCtrl:Awake()
self._mapNode.window:SetActive(false)
end
function PenguinCardPauseCtrl:OnEnable()
end
function PenguinCardPauseCtrl:OnDisable()
end
function PenguinCardPauseCtrl:OnBtnClick_Close()
self:Close()
end
function PenguinCardPauseCtrl:OnBtnClick_Giveup()
self:Close()
EventManager.Hit("PenguinCard_Pause_SwitchGame")
self:AddTimer(1, 0.2, function()
self._panel.mapLevel:CompleteGame()
end, true, true, true)
end
return PenguinCardPauseCtrl