PGRData/Script/matrix/xui/xuifubenpartnerteaching/XUiPartnerTeachingStoryDetail.lua

88 lines
No EOL
3 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

local XUiPartnerTeachingStoryDetail = XLuaUiManager.Register(XLuaUi, "UiPartnerTeachingStoryDetail")
function XUiPartnerTeachingStoryDetail:OnAwake()
self:InitComponent()
self:AddListener()
end
function XUiPartnerTeachingStoryDetail:OnStart(closeParentCb)
self.CloseParentCb = closeParentCb
end
function XUiPartnerTeachingStoryDetail:InitComponent()
self.AssetPanel = XUiPanelAsset.New(self, self.PanelAsset,
XDataCenter.ItemManager.ItemId.FreeGem, XDataCenter.ItemManager.ItemId.ActionPoint)
end
-----------------------------------------------按钮响应函数---------------------------------------------------------------
function XUiPartnerTeachingStoryDetail:AddListener()
self.BtnEnter.CallBack = function()
self:OnBtnEnterClick()
end
end
function XUiPartnerTeachingStoryDetail:OnBtnEnterClick()
local isUnlockChapter = XDataCenter.PartnerTeachingManager.WhetherUnLockChapter(self.ChapterId)
if not isUnlockChapter then
XUiManager.TipMsg(CSXTextManagerGetText("PartnerTeachingActivityEnd"))
self.CloseParentCb()
return
end
if not self.StageId then
return
end
local beginStoryId = XFubenConfigs.GetBeginStoryId(self.StageId)
if not beginStoryId then
XLog.Error(string.format("XUiPartnerTeachingStoryDetail:OnBtnEnterClick函数错误关卡%s的剧情Id为空",
tostring(self.StageId)))
return
end
local playStory = function()
XDataCenter.MovieManager.PlayMovie(beginStoryId, function()
XEventManager.DispatchEvent(XEventId.EVENT_PARTNER_TEACHING_CLOSE_STAGE_DETAIL)
end)
-- self:Close()
end
local isPassed = XDataCenter.FubenManager.CheckStageIsPass(self.StageId)
if isPassed then
playStory()
else
XDataCenter.FubenManager.FinishStoryRequest(self.StageId, function()
XEventManager.DispatchEvent(XEventId.EVENT_PARTNER_TEACHING_STAGE_REFRESH)
playStory()
end)
end
end
-----------------------------------------------------刷新---------------------------------------------------------------
function XUiPartnerTeachingStoryDetail:Refresh(stageId, chapterId)
self.StageId = stageId
self.ChapterId = chapterId
local stageCfg = XDataCenter.FubenManager.GetStageCfg(stageId)
self.TxtTitle.text = stageCfg.Name
self.TxtStoryDes.text = stageCfg.Description
local titleBg = XPartnerTeachingConfigs.GetChapterStoryStageDetailBg(chapterId)
local enterIcon = XPartnerTeachingConfigs.GetChapterStoryStageDetailIcon(chapterId)
if titleBg then
self.RImgTitleBg:SetRawImage(titleBg)
else
self.RImgTitleBg.gameObject:SetActiveEx(false)
end
if enterIcon then
self.RImgNandu:SetRawImage(enterIcon)
else
self.RImgNandu.gameObject:SetActiveEx(false)
end
end
function XUiPartnerTeachingStoryDetail:CloseDetailWithAnimation()
self:PlayAnimation("AnimDisableEnd", function()
self:Close()
end)
end