local InfinityAutoCtrl = class("InfinityAutoCtrl", BaseCtrl)
InfinityAutoCtrl._mapNodeConfig = {
	btnAutoLevel = {
		sComponentName = "UIButton",
		callback = "OnClick_AutoLevel"
	},
	texAutoLevel = {
		sComponentName = "TMP_Text",
		sLanguageId = "Auto_Overlayer"
	},
	AutoLevelOpen = {},
	AutoLevelClose = {},
	btnAutoLevelAin = {
		sNodeName = "btnAutoLevel",
		sComponentName = "Animator"
	}
}
InfinityAutoCtrl._mapEventConfig = {
	InputEnable = "OnEvent_InputEnable"
}
function InfinityAutoCtrl:OnEnable()
	self.isAuto = PlayerData.InfinityTower:GetAutoNextLv()
	self._mapNode.AutoLevelOpen:SetActive(self.isAuto)
	self._mapNode.AutoLevelClose:SetActive(not self.isAuto)
end
function InfinityAutoCtrl:OnClick_AutoLevel()
	self.isAuto = not self.isAuto
	self._mapNode.AutoLevelOpen:SetActive(self.isAuto)
	self._mapNode.AutoLevelClose:SetActive(not self.isAuto)
	PlayerData.InfinityTower:SetAutoNextLv(self.isAuto)
end
function InfinityAutoCtrl:SetAutoLevelState(isAuto)
	self.isAuto = isAuto
	self._mapNode.AutoLevelOpen:SetActive(self.isAuto)
	self._mapNode.AutoLevelClose:SetActive(not self.isAuto)
end
function InfinityAutoCtrl:OnEvent_InputEnable(bEnable)
	self.gameObject.transform.localScale = bEnable and Vector3.one or Vector3.zero
end
function InfinityAutoCtrl:PlayAin(isIn)
	if self.isAutoTime then
		self.isAutoTime:Cancel(false)
		self.isAutoTime = nil
	end
	if isIn then
		self._mapNode.btnAutoLevelAin:Play("InfinityAutoPanel_in")
	else
		self._mapNode.btnAutoLevelAin:Play("InfinityAutoPanel_out")
		self.isAutoTime = self:AddTimer(1, 0.4, function()
			self.gameObject:SetActive(false)
			self.isAutoTime = nil
		end, true, true, true)
	end
end
return InfinityAutoCtrl
