104 lines
No EOL
4.1 KiB
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 |