PRoConEvents.MULTIbalancer.OnPlayerSpawned C# (CSharp) Method

OnPlayerSpawned() public method

public OnPlayerSpawned ( String soldierName, PRoCon.Core.Players.Inventory spawnedInventory ) : void
soldierName String
spawnedInventory PRoCon.Core.Players.Inventory
return void
        public override void OnPlayerSpawned(String soldierName, Inventory spawnedInventory)
        {
            if (!fIsEnabled) return;

            DebugWrite("^9^bGot OnPlayerSpawned: ^n" + soldierName, 8);

            try {
            int totalPlayers = TotalPlayerCount();
            if (fGameState == GameState.Unknown || fGameState == GameState.Warmup) {
            bool wasUnknown = (fGameState == GameState.Unknown);
            fGameState = (totalPlayers < 4) ? GameState.Warmup : GameState.Playing;
            if (wasUnknown || fGameState == GameState.Playing) DebugWrite("OnPlayerSpawned: ^b^3Game state = " + fGameState, 6);
            if (wasUnknown && fGameVersion == GameVersion.BF4) UpdateFactions();
            fNeedPlayerListUpdate = (fGameState == GameState.Playing);
            if (EnableAdminKillForFastBalance) {
                FastBalance("GameState changed to Playing: ");
            }
            } else if (fGameState == GameState.RoundStarting) {
            // First spawn after Level Loaded is the official start of a round
            DebugWrite(":::::::::::::::::::::::::::::::::::: ^b^1First spawn detected^0^n ::::::::::::::::::::::::::::::::::::", 3);

            fGameState = (totalPlayers < 4) ? GameState.Warmup : GameState.Playing;
            DebugWrite("OnPlayerSpawned: ^b^3Game state = " + fGameState, 6);

            ResetRound();
            fIsFullRound = true;
            ServerCommand("serverInfo");
            UpdateRoundTimeLimit();
            ScheduleListPlayers(2);
            fNeedPlayerListUpdate = (fGameState == GameState.Playing);
            if (fGameVersion == GameVersion.BF4) UpdateFactions();
            }

            if (fPluginState == PluginState.Active) {
            ValidateMove(soldierName);
            if (fGameState != GameState.RoundEnding) {
                SpawnUpdate(soldierName);
                FireMessages(soldierName);
                CheckDelayedMove(soldierName);
                if (IsRush()) CheckServerInfoUpdate();
            }
            }
            } catch (Exception e) {
            ConsoleException(e);
            }
        }
MULTIbalancer