// 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 m_TeamTab = new Dictionary(); 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; } } } }