public static void EndTurn()
    {
        EndOfHeroesMove unit = turnTeam.Dequeue();

        unit.EndTurn();

        if (turnTeam.Count > 0)
        {
            StartTurn();
        }
        else
        {
            string team = turnKey.Dequeue();
            turnKey.Enqueue(team);
            InitTeamTurnQueue();
        }
    }
    public static void AddUnit(EndOfHeroesMove unit)
    {
        List <EndOfHeroesMove> list;

        if (!units.ContainsKey(unit.tag))
        {
            list            = new List <EndOfHeroesMove>();
            units[unit.tag] = list;

            if (!turnKey.Contains(unit.tag))
            {
                turnKey.Enqueue(unit.tag);
            }
        }
        else
        {
            list = units[unit.tag];
        }

        list.Add(unit);
    }