forked from endernon/PGRData
154 lines
No EOL
5.3 KiB
Lua
154 lines
No EOL
5.3 KiB
Lua
local XUiArchiveMonster = XLuaUiManager.Register(XLuaUi, "UiArchiveMonster")
|
|
|
|
function XUiArchiveMonster:OnEnable()
|
|
--self:SetupDynamicTable(self.CurType)
|
|
self:DynamicTableDataSync()
|
|
end
|
|
|
|
function XUiArchiveMonster:OnStart()
|
|
self:SetButtonCallBack()
|
|
self:InitDynamicTable()
|
|
self:Init()
|
|
self:InitNewTag()
|
|
self:InitRedPoint()
|
|
self.AssetPanel = XUiPanelAsset.New(self, self.PanelAsset, XDataCenter.ItemManager.ItemId.FreeGem, XDataCenter.ItemManager.ItemId.ActionPoint, XDataCenter.ItemManager.ItemId.Coin)
|
|
end
|
|
|
|
function XUiArchiveMonster:OnDestroy()
|
|
local datas = XDataCenter.ArchiveManager.GetArchiveMonsterList()
|
|
XDataCenter.ArchiveManager.ClearMonsterNewTag(datas)
|
|
XDataCenter.ArchiveManager.ClearDetailRedPoint(XArchiveConfigs.MonsterDetailType.Info, datas)
|
|
XDataCenter.ArchiveManager.ClearDetailRedPoint(XArchiveConfigs.MonsterDetailType.Setting, datas)
|
|
XDataCenter.ArchiveManager.ClearDetailRedPoint(XArchiveConfigs.MonsterDetailType.Skill, datas)
|
|
end
|
|
|
|
function XUiArchiveMonster:InitDynamicTable()
|
|
self.DynamicTable = XDynamicTableNormal.New(self.PanelArchiveMonsterList)
|
|
self.DynamicTable:SetProxy(XUiGridArchiveMonster)
|
|
self.DynamicTable:SetDelegate(self)
|
|
self.GridArchiveMonster.gameObject:SetActiveEx(false)
|
|
end
|
|
|
|
function XUiArchiveMonster:SetupDynamicTable(type)
|
|
self.PageDatas = XDataCenter.ArchiveManager.GetArchiveMonsterList(type)
|
|
self.DynamicTable:SetDataSource(self.PageDatas)
|
|
self.DynamicTable:ReloadDataSync()
|
|
end
|
|
|
|
function XUiArchiveMonster:DynamicTableDataSync()
|
|
self.DynamicTable:ReloadDataSync()
|
|
end
|
|
|
|
function XUiArchiveMonster:OnDynamicTableEvent(event, index, grid)
|
|
if event == DYNAMIC_DELEGATE_EVENT.DYNAMIC_GRID_ATINDEX then
|
|
grid:UpdateGrid(self.PageDatas, self, index)
|
|
end
|
|
end
|
|
|
|
function XUiArchiveMonster:SetButtonCallBack()
|
|
self.BtnBack.CallBack = function()
|
|
self:OnBtnBackClick()
|
|
end
|
|
self.BtnMainUi.CallBack = function()
|
|
self:OnBtnMainUiClick()
|
|
end
|
|
end
|
|
|
|
function XUiArchiveMonster:Init()
|
|
self.CurType = 1
|
|
self.BtnList = {
|
|
[1] = self.BtnFirst1,
|
|
[2] = self.BtnFirst2,
|
|
[3] = self.BtnFirst3
|
|
}
|
|
|
|
self.TypeList = {
|
|
[1] = XArchiveConfigs.MonsterType.Pawn,
|
|
[2] = XArchiveConfigs.MonsterType.Elite,
|
|
[3] = XArchiveConfigs.MonsterType.Boss
|
|
}
|
|
|
|
self.BtnContent:Init(self.BtnList, function(index) self:SelectType(index) end)
|
|
self.BtnContent:SelectIndex(self.CurType)
|
|
end
|
|
|
|
function XUiArchiveMonster:InitRedPoint()
|
|
XRedPointManager.AddRedPointEvent(self.BtnFirst1,
|
|
self.OnCheckPawnRedPoint, self,
|
|
{ XRedPointConditions.Types.CONDITION_ARCHIVE_MONSTER_TYPE_RED },
|
|
XArchiveConfigs.MonsterType.Pawn)
|
|
XRedPointManager.AddRedPointEvent(self.BtnFirst2,
|
|
self.OnCheckEliteRedPoint, self,
|
|
{ XRedPointConditions.Types.CONDITION_ARCHIVE_MONSTER_TYPE_RED },
|
|
XArchiveConfigs.MonsterType.Elite)
|
|
XRedPointManager.AddRedPointEvent(self.BtnFirst3,
|
|
self.OnCheckBossRedPoint, self,
|
|
{ XRedPointConditions.Types.CONDITION_ARCHIVE_MONSTER_TYPE_RED },
|
|
XArchiveConfigs.MonsterType.Boss)
|
|
end
|
|
|
|
function XUiArchiveMonster:InitNewTag()
|
|
XRedPointManager.AddRedPointEvent(self.BtnFirst1,
|
|
self.OnCheckPawnTag, self,
|
|
{ XRedPointConditions.Types.CONDITION_ARCHIVE_MONSTER_TYPE_TAG },
|
|
XArchiveConfigs.MonsterType.Pawn)
|
|
XRedPointManager.AddRedPointEvent(self.BtnFirst2,
|
|
self.OnCheckEliteTag, self,
|
|
{ XRedPointConditions.Types.CONDITION_ARCHIVE_MONSTER_TYPE_TAG },
|
|
XArchiveConfigs.MonsterType.Elite)
|
|
XRedPointManager.AddRedPointEvent(self.BtnFirst3,
|
|
self.OnCheckBossTag, self,
|
|
{ XRedPointConditions.Types.CONDITION_ARCHIVE_MONSTER_TYPE_TAG },
|
|
XArchiveConfigs.MonsterType.Boss)
|
|
end
|
|
|
|
function XUiArchiveMonster:SelectType(index)
|
|
|
|
self.CurType = index
|
|
|
|
self:SetupDynamicTable(self.TypeList[index])
|
|
self.RateNum.text = string.format("%d%s", XDataCenter.ArchiveManager.GetMonsterCompletionRate(self.TypeList[index]), "%")
|
|
self:PlayAnimation("QieHuan")
|
|
|
|
if self.OldType then
|
|
local datas = XDataCenter.ArchiveManager.GetArchiveMonsterList(self.TypeList[self.OldType])
|
|
XDataCenter.ArchiveManager.ClearMonsterNewTag(datas)
|
|
XDataCenter.ArchiveManager.ClearDetailRedPoint(XArchiveConfigs.MonsterDetailType.Info, datas)
|
|
XDataCenter.ArchiveManager.ClearDetailRedPoint(XArchiveConfigs.MonsterDetailType.Setting, datas)
|
|
XDataCenter.ArchiveManager.ClearDetailRedPoint(XArchiveConfigs.MonsterDetailType.Skill, datas)
|
|
end
|
|
|
|
self.OldType = index
|
|
end
|
|
|
|
function XUiArchiveMonster:OnBtnBackClick()
|
|
self:Close()
|
|
end
|
|
|
|
function XUiArchiveMonster:OnBtnMainUiClick()
|
|
XLuaUiManager.RunMain()
|
|
end
|
|
|
|
function XUiArchiveMonster:OnCheckPawnRedPoint(count)
|
|
self.BtnFirst1:ShowReddot(count >= 0)
|
|
end
|
|
|
|
function XUiArchiveMonster:OnCheckEliteRedPoint(count)
|
|
self.BtnFirst2:ShowReddot(count >= 0)
|
|
end
|
|
|
|
function XUiArchiveMonster:OnCheckBossRedPoint(count)
|
|
self.BtnFirst3:ShowReddot(count >= 0)
|
|
end
|
|
|
|
function XUiArchiveMonster:OnCheckPawnTag(count)
|
|
self.BtnFirst1:ShowTag(count >= 0)
|
|
end
|
|
|
|
function XUiArchiveMonster:OnCheckEliteTag(count)
|
|
self.BtnFirst2:ShowTag(count >= 0)
|
|
end
|
|
|
|
function XUiArchiveMonster:OnCheckBossTag(count)
|
|
self.BtnFirst3:ShowTag(count >= 0)
|
|
end |