48 lines
1.1 KiB
C#
48 lines
1.1 KiB
C#
// Port of C++ EC_TeamMan.h/cpp - team manager (one team per leader).
|
|
|
|
using System.Collections.Generic;
|
|
using BrewMonster;
|
|
using UnityEngine;
|
|
|
|
namespace BrewMonster
|
|
{
|
|
public class CECTeamMan
|
|
{
|
|
private Dictionary<int, CECTeam> m_TeamTab = new Dictionary<int, CECTeam>();
|
|
|
|
public void Release()
|
|
{
|
|
m_TeamTab.Clear();
|
|
}
|
|
|
|
public CECTeam CreateTeam(int idLeader)
|
|
{
|
|
var pTeam = new CECTeam(idLeader);
|
|
m_TeamTab[idLeader] = pTeam;
|
|
return pTeam;
|
|
}
|
|
|
|
public void ReleaseTeam(int idLeader)
|
|
{
|
|
if (m_TeamTab.Remove(idLeader))
|
|
{ }
|
|
}
|
|
|
|
public CECTeam GetTeam(int idLeader)
|
|
{
|
|
return m_TeamTab.TryGetValue(idLeader, out var t) ? t : null;
|
|
}
|
|
|
|
public void ChangeTeamLeader(int idOldLeader, int idNewLeader)
|
|
{
|
|
var pTeam = GetTeam(idOldLeader);
|
|
if (pTeam != null)
|
|
{
|
|
pTeam.ChangeTeamLeader(idNewLeader);
|
|
m_TeamTab.Remove(idOldLeader);
|
|
m_TeamTab[idNewLeader] = pTeam;
|
|
}
|
|
}
|
|
}
|
|
}
|