public void HandlePlayerJoin(Gamepad pad) { if (players.Count == 0) { FindObjectOfType <MenuManager>().SkipMainMenuScreen(); } if (!players.Any(p => p.config.Input.gamepad == pad)) { var player = Instantiate(playerPreFab.gameObject, transform).GetComponent <PlayerController>(); var config = new PlayerConfiguration(players.Count); config.info = PlayerLevelingManager.Instance.GetLastPlayerInfo(config.PlayerIndex); config.Input = new PlayerInputMethod(player, pad); players.Add(player); player.config = config; if (GameSettings.gameMode.IsTeamBased) { player.config.Team = GameSettings.gameMode.TeamScores[player.config.PlayerIndex % GameSettings.gameMode.NumberOfTeams]; FindObjectOfType <JoinRoomManager>().ChangeTeam(player); } else { GamemodeBase.AutoAssignTeams(); } StartCoroutine(SetPlayerColorAfterPlayerEnableCall(player)); RecalculateUsedAndUnusedGamepads(); } }
public void OnModeSpawnedInJoinRoom() { GamemodeBase.AutoAssignTeams(); }