NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Team/FightTeamManager.cs

95 lines
1.7 KiB
C#

using System.Collections.Generic;
public class FightTeamManager
{
public static FightTeamManager Instance
{
get
{
if (_instance == null)
{
_instance = new FightTeamManager();
}
return _instance;
}
}
private static FightTeamManager _instance;
private FightTeamManager()
{
}
/// <summary>
/// 上阵ID列表
/// </summary>
private List<uint> _fightIDList;
/// <summary>
/// 上阵Unit的TeamUnit数据集合
/// </summary>
private Dictionary<uint, TeamUnitInfo> _onFightUnitInfos;
#region Init
private void _Init()
{
_fightIDList = new();
_onFightUnitInfos = new();
}
private void _Release()
{
_fightIDList.Clear();
_onFightUnitInfos.Clear();
}
#endregion
#region API
/// <summary>
/// 初始化
/// </summary>
public void Init()
{
_Init();
}
public void Release()
{
_Release();
}
/// <summary>
/// 获取战斗上阵ID列表
/// </summary>
/// <returns></returns>
public List<uint> GetFightIDList()
{
return _fightIDList;
}
/// <summary>
/// 获取战斗上阵的TeamUnitInfo集合
/// </summary>
/// <returns></returns>
public Dictionary<uint, TeamUnitInfo> GetFightTeamUnitInfos()
{
return _onFightUnitInfos;
}
public TeamUnitInfo GetFightTeamUnitInfo(uint uid)
{
if (_onFightUnitInfos.TryGetValue(uid, out var unitInfo))
{
return unitInfo;
}
return null;
}
#endregion
}