PGRData/Script/matrix/xui/xuifavorability/XUiPanelFavorabilityDocument.lua

104 lines
No EOL
4.1 KiB
Lua

XUiPanelFavorabilityDocument = XClass(nil, "XUiPanelFavorabilityDocument")
local DocumentTypeSize = 4
local DocumentType = {
DocFile = 1,
DocInfo = 2,
DocRumor = 3,
DocAudo = 4,
}
function XUiPanelFavorabilityDocument:Ctor(ui, uiRoot)
self.GameObject = ui.gameObject
self.Transform = ui.transform
self.UiRoot = uiRoot
XTool.InitUiObject(self)
self:InitUiAfterAuto()
local characterId = self.UiRoot:GetCurrFavorabilityCharacter()
self.RedPointInfoId = XRedPointManager.AddRedPointEvent(self.ImgRedDotB, nil, self, { XRedPointConditions.Types.CONDITION_FAVORABILITY_DOCUMENT_INFO }, { CharacterId = characterId })
self.RedPointRumorId = XRedPointManager.AddRedPointEvent(self.ImgRedDotC, nil, self, { XRedPointConditions.Types.CONDITION_FAVORABILITY_DOCUMENT_RUMOR }, { CharacterId = characterId })
self.RedPointAudioId = XRedPointManager.AddRedPointEvent(self.ImgRedDotD, nil, self, { XRedPointConditions.Types.CONDITION_FAVORABILITY_DOCUMENT_AUDIO }, { CharacterId = characterId })
end
-- [资料标签页trigger]
function XUiPanelFavorabilityDocument:CheckDataReddot()
local characterId = self.UiRoot:GetCurrFavorabilityCharacter()
XRedPointManager.Check(self.RedPointInfoId, { CharacterId = characterId })
end
-- [异闻标签页trigger]
function XUiPanelFavorabilityDocument:CheckRumorReddot()
local characterId = self.UiRoot:GetCurrFavorabilityCharacter()
XRedPointManager.Check(self.RedPointRumorId, { CharacterId = characterId })
end
-- [语音标签页trigger]
function XUiPanelFavorabilityDocument:CheckAudioReddot()
local characterId = self.UiRoot:GetCurrFavorabilityCharacter()
XRedPointManager.Check(self.RedPointAudioId, { CharacterId = characterId })
end
function XUiPanelFavorabilityDocument:InitUiAfterAuto()
self.FavorabilityFile = XUiPanelFavorabilityFile.New(self.PanelFavorabilityFile, self.UiRoot, self)
self.FavorabilityInfo = XUiPanelFavorabilityInfo.New(self.PanelFavorabilityInfo, self.UiRoot, self)
self.FavorabilityRumors = XUiPanelFavorabilityRumors.New(self.PanelFavorabilityRumors, self.UiRoot, self)
self.FavorabilityAudio = XUiPanelFavorabilityAudio.New(self.PanelFavorabilityAudio, self.UiRoot, self)
self.Tabs = {}
self.Tabs[DocumentType.DocFile] = {}
self.Tabs[DocumentType.DocFile].reddot = self.ImgRedDotA
self.Tabs[DocumentType.DocFile].view = self.FavorabilityFile
self.Tabs[DocumentType.DocInfo] = {}
self.Tabs[DocumentType.DocInfo].reddot = self.ImgRedDotB
self.Tabs[DocumentType.DocInfo].view = self.FavorabilityInfo
self.Tabs[DocumentType.DocRumor] = {}
self.Tabs[DocumentType.DocRumor].reddot = self.ImgRedDotC
self.Tabs[DocumentType.DocRumor].view = self.FavorabilityRumors
self.Tabs[DocumentType.DocAudo] = {}
self.Tabs[DocumentType.DocAudo].reddot = self.ImgRedDotD
self.Tabs[DocumentType.DocAudo].view = self.FavorabilityAudio
self.TabsList = {}
self.TabsList[DocumentType.DocFile] = self.BtnTog0
self.TabsList[DocumentType.DocInfo] = self.BtnTog1
self.TabsList[DocumentType.DocRumor] = self.BtnTog2
self.TabsList[DocumentType.DocAudo] = self.BtnTog3
self.DocumentBtnGroup:Init(self.TabsList, function(index) self:OnBtnTabsListClick(index) end)
end
function XUiPanelFavorabilityDocument:RefreshDatas()
self.DocumentBtnGroup:SelectIndex(self.LastSelectTab or DocumentType.DocFile)
self:CheckDataReddots()
end
function XUiPanelFavorabilityDocument:CheckDataReddots()
self:CheckDataReddot()
self:CheckRumorReddot()
self:CheckAudioReddot()
end
function XUiPanelFavorabilityDocument:OnBtnTabsListClick(index)
for i = 1, DocumentTypeSize do
self.Tabs[i].view:SetViewActive(index == i)
end
if self.LastSelectTab then
self.UiRoot:PlaySubTabAnim()
end
self.LastSelectTab = index
end
function XUiPanelFavorabilityDocument:OnClose()
self.FavorabilityAudio:OnClose()
end
function XUiPanelFavorabilityDocument:SetViewActive(isActive)
self.GameObject:SetActive(isActive)
if isActive then
self:RefreshDatas()
else
self:OnClose()
end
end
return XUiPanelFavorabilityDocument