PRoConEvents.MULTIbalancer.RemovePlayer C# (CSharp) Method

RemovePlayer() private method

private RemovePlayer ( String name ) : void
name String
return void
        private void RemovePlayer(String name)
        {
            bool gameChange = false;
            bool removeFetch = false;
            lock (fKnownPlayers) {
            if (fKnownPlayers.ContainsKey(name)) {
            // Keep around for MODEL_TIMEOUT minutes, in case player rejoins
            PlayerModel m = fKnownPlayers[name];
            m.ResetRound();
            m.LastSeenTimestamp = DateTime.Now;
            m.FirstSeenTimestamp = DateTime.MinValue;
            removeFetch = true;
            }
            }
            if (removeFetch) RemovePlayerFetch(name);
            lock (fAllPlayers) {
            if (fAllPlayers.Contains(name)) fAllPlayers.Remove(name);

            if (fAllPlayers.Count < 4) {
            if (fGameState != GameState.Warmup) {
                fGameState = GameState.Warmup;
                gameChange = true;
            }
            }
            }
            if (gameChange) {
            DebugWrite("RemovePlayer: ^b^3Game state = " + fGameState, 6);
            }
        }
MULTIbalancer