local VampireSurvivorTimeCtrl = class("VamireSurvivorTimeCtrl", BaseCtrl)
VampireSurvivorTimeCtrl._mapNodeConfig = {
	rtnfo = {},
	rtChallengeTime = {},
	TMPChallengeTime = {sComponentName = "TMP_Text"},
	cgRoot = {
		sNodeName = "----SafeAreaRoot----",
		sComponentName = "CanvasGroup"
	}
}
VampireSurvivorTimeCtrl._mapEventConfig = {
	VampireSurvivor_Time = "SetTime",
	Vampire_Level_Times = "OnEvent_SetLevelProgress",
	Vampire_Boss_Spawn = "OnEvent_Boss_Spawn",
	VampireBattleEnd = "OnEvent_LevelEnd",
	InputEnable = "OnEvent_InputEnable"
}
function VampireSurvivorTimeCtrl:Awake()
	self._mapNode.rtnfo:SetActive(false)
	self._mapNode.rtChallengeTime:SetActive(false)
	self.bStart = false
	self.nTotlaTime = 0
	self:SetTime(0)
end
function VampireSurvivorTimeCtrl:SetTime(nTime)
	if not self.bStart then
		return
	end
	local nSubTime = self.nTotlaTime - nTime
	local nMin = math.floor(nSubTime / 60)
	local nSec = math.fmod(nSubTime, 60)
	NovaAPI.SetTMPText(self._mapNode.TMPChallengeTime, string.format("%02d:%02d", nMin, nSec))
end
function VampireSurvivorTimeCtrl:OnEvent_SetLevelProgress(nTime)
	self._mapNode.rtChallengeTime:SetActive(false)
	self.bStart = false
	self.nTotlaTime = nTime
end
function VampireSurvivorTimeCtrl:OnEvent_Boss_Spawn()
	local waitTime = function()
		self._mapNode.rtChallengeTime:SetActive(true)
	end
	self.warningTimer = self:AddTimer(0, 4, waitTime, true, true, true)
	self.bStart = true
end
function VampireSurvivorTimeCtrl:OnEvent_LevelEnd()
	if self.warningTimer ~= nil then
		self.warningTimer:Cancel()
		self.warningTimer = nil
	end
	self._mapNode.rtChallengeTime:SetActive(false)
	self.bStart = false
end
function VampireSurvivorTimeCtrl:OnEvent_InputEnable(bEnable)
	print("VampireSurvivorTimeCtrl:OnEvent_InputEnable:" .. tostring(bEnable))
	NovaAPI.SetCanvasGroupAlpha(self._mapNode.cgRoot, bEnable == true and 1 or 0)
end
return VampireSurvivorTimeCtrl
