local DiscStoryCtrl = class("DiscStoryCtrl", BaseCtrl)
DiscStoryCtrl._mapNodeConfig = {
	blur = {
		sNodeName = "t_fullscreen_story"
	},
	aniBlur = {
		sNodeName = "t_fullscreen_story",
		sComponentName = "Animator"
	},
	btnClose = {
		sNodeName = "snapshot_story",
		sComponentName = "Button",
		callback = "OnBtnClick_Close"
	},
	aniRoot = {sNodeName = "StoryRoot", sComponentName = "Animator"},
	btnRead = {
		sComponentName = "UIButton",
		callback = "OnBtnClick_Read"
	},
	txtStory = {
		sComponentName = "RubyTextMeshProUGUI"
	},
	txtStoryName = {sComponentName = "TMP_Text"},
	btn_CloseStory = {
		sComponentName = "UIButton",
		callback = "OnBtnClick_Close"
	},
	txtBtnCloseStory = {
		sComponentName = "TMP_Text",
		sLanguageId = "MessageBox_Confirm"
	},
	sv = {sComponentName = "ScrollRect"}
}
DiscStoryCtrl._mapEventConfig = {OpenDiscStory = "Open"}
function DiscStoryCtrl:Open(mapDisc, mapCfg)
	self._mapNode.blur:SetActive(true)
	self._mapNode.btnRead.gameObject:SetActive(mapDisc.bRead == false)
	NovaAPI.SetText_RubyTMP(self._mapNode.txtStory, mapCfg.StoryDesc)
	NovaAPI.SetTMPText(self._mapNode.txtStoryName, mapCfg.StoryName)
	NovaAPI.SetVerticalNormalizedPosition(self._mapNode.sv, 1)
	self:PlayInAni()
end
function DiscStoryCtrl:PlayInAni()
	self.gameObject:SetActive(true)
	self._mapNode.aniRoot:Play("t_window_04_t_in")
	EventManager.Hit(EventId.TemporaryBlockInput, 0.3)
end
function DiscStoryCtrl:PlayOutAni()
	self._mapNode.aniBlur:SetTrigger("tOut")
	self._mapNode.aniRoot:Play("t_window_04_t_out")
	self:AddTimer(1, 0.2, "Close", true, true, true)
	EventManager.Hit(EventId.TemporaryBlockInput, 0.2)
end
function DiscStoryCtrl:Close()
	self.gameObject:SetActive(false)
end
function DiscStoryCtrl:Awake()
end
function DiscStoryCtrl:OnEnable()
end
function DiscStoryCtrl:OnDisable()
end
function DiscStoryCtrl:OnDestroy()
end
function DiscStoryCtrl:OnBtnClick_Read()
	local callback = function()
		self._mapNode.btnRead.gameObject:SetActive(false)
	end
	PlayerData.Disc:SendDiscReadRewardReceiveReq(self._panel.nId, AllEnum.DiscReadType.DiscStory, callback)
end
function DiscStoryCtrl:OnBtnClick_Close(btn)
	self:PlayOutAni()
end
return DiscStoryCtrl
