PRoConEvents.MULTIbalancer.UpdateTeams C# (CSharp) Method

UpdateTeams() private method

private UpdateTeams ( ) : void
return void
        private void UpdateTeams()
        {
            ClearTeams();

            List<String> names = new List<String>();

            lock (fAllPlayers) {
            foreach (String name in fAllPlayers) {
            if (!fKnownPlayers.ContainsKey(name)) {
                ConsoleDebug("UpdateTeams: " + name + " not in fKnownPlayers");
                continue;
            }
            names.Add(name);
            }
            }
            lock (fKnownPlayers) {
            foreach (String dude in names) {
            PlayerModel player = null;
            if (fKnownPlayers.TryGetValue(dude, out player) && player != null) {
                if (fGameVersion != GameVersion.BF3 && player.Role != ROLE_PLAYER) continue; // account for role
                List<PlayerModel> t = GetTeam(player.Team);
                if (t != null) t.Add(player);
                // Also update move timer
                double mins = DateTime.Now.Subtract(player.MovedByMBTimestamp).TotalMinutes;
                if (player.MovedByMBTimestamp != DateTime.MinValue &&  mins >= MinutesAfterBeingMoved) {
                    player.MovedByMBTimestamp = DateTime.MinValue;
                }
            }
            }
            }
        }
MULTIbalancer