PGRData/Script/matrix/xui/xuiprequel/XUiPanelEnterFightDialog.lua

122 lines
4.2 KiB
Lua
Raw Normal View History

XUiPanelEnterFightDialog = XClass(nil, "XUiPanelEnterFightDialog")
function XUiPanelEnterFightDialog:Ctor(ui, rootUi)
self.GameObject = ui.gameObject
self.Transform = ui.transform
self.RootUi = rootUi
self:InitAutoScript()
end
-- auto
-- Automatic generation of code, forbid to edit
function XUiPanelEnterFightDialog:InitAutoScript()
self:AutoInitUi()
self:AutoAddListener()
end
function XUiPanelEnterFightDialog:AutoInitUi()
self.BtnMaskB = self.Transform:Find("BtnMask"):GetComponent("Button")
self.PanelStory = self.Transform:Find("PanelStory")
self.TxtStoryName = self.Transform:Find("PanelStory/TxtStoryName"):GetComponent("Text")
self.TxtStoryDec = self.Transform:Find("PanelStory/TxtStoryDec"):GetComponent("Text")
self.RImgStory = self.Transform:Find("PanelStory/RImgStory"):GetComponent("RawImage")
self.BtnEnterStory = self.Transform:Find("PanelStory/BtnEnterStory"):GetComponent("Button")
self.PanelFight = self.Transform:Find("PanelFight")
self.TxtFightName = self.Transform:Find("PanelFight/TxtFightName"):GetComponent("Text")
self.TxtFightDec = self.Transform:Find("PanelFight/TxtFightDec"):GetComponent("Text")
self.RImgFight = self.Transform:Find("PanelFight/RImgFight"):GetComponent("RawImage")
self.BtnEnterFight = self.Transform:Find("PanelFight/BtnEnterFight"):GetComponent("Button")
end
function XUiPanelEnterFightDialog:RegisterClickEvent(uiNode, func)
if func == nil then
XLog.Error("XUiPanelEnterFightDialog:RegisterClickEvent函数参数错误参数func不能为空")
return
end
if type(func) ~= "function" then
XLog.Error("XUiPanelEnterFightDialog:RegisterClickEvent函数错误, 参数func需要是function类型, func的类型是" .. type(func))
end
local listener = function(...)
func(self, ...)
end
CsXUiHelper.RegisterClickEvent(uiNode, listener)
end
function XUiPanelEnterFightDialog:AutoAddListener()
self:RegisterClickEvent(self.BtnMaskB, self.OnBtnMaskBClick)
self:RegisterClickEvent(self.BtnEnterStory, self.OnBtnEnterStoryClick)
self:RegisterClickEvent(self.BtnEnterFight, self.OnBtnEnterFightClick)
end
-- auto
function XUiPanelEnterFightDialog:OnBtnMaskBClick()
self:OnCloseDialog()
end
function XUiPanelEnterFightDialog:OnBtnEnterStoryClick()
if self:PreCheckChapterCondition() then return end
self:OnCallback()
end
function XUiPanelEnterFightDialog:OnBtnEnterFightClick()
if self:PreCheckChapterCondition() then return end
self:OnCallback()
end
function XUiPanelEnterFightDialog:PreCheckChapterCondition()
if self.StageId then
local chapterId = XDataCenter.PrequelManager.GetChapterIdByStageId(self.StageId)
if chapterId then
local unlockDescription = XDataCenter.PrequelManager.GetChapterUnlockDescription(chapterId)
if unlockDescription then
XUiManager.TipMsg(unlockDescription)
self:OnCloseDialog()
return true
end
end
end
return false
end
function XUiPanelEnterFightDialog:OnShowStoryDialog(stageId, callback)
self.StageId = stageId
self.Callback = callback
self.PanelStory.gameObject:SetActiveEx(true)
self.PanelFight.gameObject:SetActiveEx(false)
local stageCfg = XDataCenter.FubenManager.GetStageCfg(self.StageId)
self.TxtStoryName.text = stageCfg.Name
self.TxtStoryDec.text = stageCfg.Description
self.RImgStory:SetRawImage(stageCfg.Icon)
end
function XUiPanelEnterFightDialog:OnShowFightDialog(stageId, callback)
self.StageId = stageId
self.Callback = callback
self.PanelFight.gameObject:SetActiveEx(true)
self.PanelStory.gameObject:SetActiveEx(false)
local stageCfg = XDataCenter.FubenManager.GetStageCfg(self.StageId)
self.TxtFightName.text = stageCfg.Name
self.TxtFightDec.text = stageCfg.Description
self.RImgFight:SetRawImage(stageCfg.Icon)
end
function XUiPanelEnterFightDialog:OnCallback()
if self.Callback then
self.Callback()
end
self:OnCloseDialog()
end
function XUiPanelEnterFightDialog:OnCloseDialog()
if XTool.UObjIsNil(self.GameObject) then return end
self.GameObject:SetActiveEx(false)
end
return XUiPanelEnterFightDialog