Files
JJBB/Assets/Project/Script/GUI/LevelCombatTips/LevelCombatLevelPanel.cs

100 lines
2.6 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using GCGame.Table;
using System;
public class LevelCombatLevelPanel : UIControllerBase<LevelCombatLevelPanel>
{
private void OnEnable()
{
InitLevelInfo();
ShowLevel();
}
#region
public UIContainerSelect _LevelContainer;
public UIContainerBase _TipsContainer;
private List<Tab_LevelTip> _LevelTipTabs;
private void InitLevelInfo()
{
if (_LevelTipTabs != null)
return;
_LevelTipTabs = new List<Tab_LevelTip>();
var tabList = TableManager.GetLevelTip().Values;
foreach (var levelTab in tabList)
{
_LevelTipTabs.Add(levelTab);
}
_LevelTipTabs.Sort((tabA, tabB) =>
{
if (tabA.Id > tabB.Id)
return 1;
else if (tabA.Id < tabB.Id)
return -1;
else
return 0;
});
_LevelContainer.InitSelectContent(_LevelTipTabs, null, OnLevelSelect);
}
private void ShowLevel()
{
int level = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level;
Tab_LevelTip selectedTab = null;
for (int i = 0; i < _LevelTipTabs.Count; ++i)
{
if (level >= _LevelTipTabs[i].LevelMin && level <= _LevelTipTabs[i].LevelMax)
{
selectedTab = _LevelTipTabs[i];
break;
}
}
if (selectedTab == null)
{
if (level < _LevelTipTabs[0].LevelMin)
{
selectedTab = _LevelTipTabs[0];
}
else if (level > _LevelTipTabs[_LevelTipTabs.Count - 1].LevelMax)
{
selectedTab = _LevelTipTabs[_LevelTipTabs.Count - 1];
}
}
_LevelContainer.InitSelectContent(_LevelTipTabs, new List<Tab_LevelTip> { selectedTab }, OnLevelSelect);
}
public void OnLevelSelect(object levelGO)
{
Tab_LevelTip levelTab = levelGO as Tab_LevelTip;
ShowLevelTip(levelTab);
}
private void ShowLevelTip(Tab_LevelTip levelTab)
{
List<Tab_LevelCombatTipItem> tipItemTabList = new List<Tab_LevelCombatTipItem>();
for (int i = 0; i < levelTab.getTipIDCount(); ++i)
{
int tabID = levelTab.GetTipIDbyIndex(i);
var tipTab = TableManager.GetLevelCombatTipItemByID(tabID, 0);
if (tipTab != null)
{
tipItemTabList.Add(tipTab);
}
}
_TipsContainer.InitContentItem(tipItemTabList);
}
#endregion
}