private IEnumerator WaitForClientInfo(NetworkConnection playerConnection) { yield return(new WaitUntil(() => playerConnection.playerControllers.Count != 0)); LobbyPlayerManager lobbyPlayer = playerConnection.playerControllers[0].gameObject.GetComponent <LobbyPlayerManager>(); lobbyPlayer.Init(); yield return(new WaitUntil(() => lobbyPlayer.GetName() != null)); lobbyPlayer.SetPlayerObjectID(lobbyPlayer.GetComponent <NetworkIdentity>().netId); lobbyPlayer.SetPlayerConnection(lobbyPlayer.connectionToClient); for (int loop = 0; loop < 6; loop++) { if (players[loop] == null) { players[loop] = lobbyPlayer; break; } else if (players[loop + 6] == null) { players[loop + 6] = lobbyPlayer; break; } } RequestUpdatePlayerList(); }
public override bool OnLobbyServerSceneLoadedForPlayer(GameObject lobbyPlayer, GameObject gamePlayer) { LobbyPlayerManager lobbyPlayerManager = lobbyPlayer.GetComponent <LobbyPlayerManager>(); GamePlayer gamePlayerManager = gamePlayer.GetComponent <GamePlayer>(); lobbyManager.PlayerLoaded(lobbyPlayerManager, gamePlayerManager); return(base.OnLobbyServerSceneLoadedForPlayer(lobbyPlayer, gamePlayer)); }
public void PlayerLoaded(LobbyPlayerManager lobbyPlayer, GamePlayer gameManager) { if (!isServer) { return; } realLobbyManager.PlayerLoaded(lobbyPlayer, gameManager); }
public void SwapPlayers(List <int> players) { Queue <int> leftPlayers = new Queue <int>(); Queue <int> rightPlayers = new Queue <int>(); foreach (int player in players) { if (player == 0) { continue; } if (player < 6) { leftPlayers.Enqueue(player); } else { rightPlayers.Enqueue(player); } } foreach (int leftPlayer in leftPlayers) { if (rightPlayers.Count == 0) { break; } int rightPlayer = rightPlayers.Dequeue(); LobbyPlayerManager temp = this.players[rightPlayer]; this.players[rightPlayer] = this.players[leftPlayer]; this.players[leftPlayer] = temp; } RequestUpdatePlayerList(); }
public void PlayerLoaded(LobbyPlayerManager lobbyPlayer, GamePlayer gamePlayer) { readyPlayers[lobbyPlayer] = true; gameManager.LoadPlayer(lobbyPlayer, gamePlayer); }
public void LoadPlayer(LobbyPlayerManager lobbyPlayer, GamePlayer gamePlayer) { StartCoroutine(WaitForPlayerLoad(this.lobbyPlayers, this.gamePlayers, lobbyPlayer, gamePlayer)); }
private IEnumerator WaitForPlayerLoad(List <LobbyPlayerManager> lobbyPlayers, Dictionary <GamePlayer, int> gamePlayers, LobbyPlayerManager lobbyPlayer, GamePlayer gamePlayer) { yield return(new WaitUntil(() => gamePlayer.isServer)); Debug.LogWarning("DING"); int playerIndex = lobbyPlayers.IndexOf(lobbyPlayer); GameManager.Team playerTeam = (playerIndex < 6 ? GameManager.Team.Blue : GameManager.Team.Red); gamePlayer.SetupPlayer(lobbyPlayer.GetName(), playerTeam); Debug.LogWarning("Gameplayers add"); gamePlayers.Add(gamePlayer, 0); Debug.LogWarning("Gamelayers after add: " + gamePlayers.Keys.Count); if (gamePlayers.Keys.Count == playerCount) { StartGame(); } }
public void Init() { clientProxy = GetComponent <LobbyPlayerManager>(); }