public override void OnServerAddPlayer(NetworkConnection conn) { if (SceneManager.GetActiveScene().path == menuScene) { bool isHost = NetworkRoomPlayers.Count == 0; NetworkRoomPlayerMageBall networkRoomPlayerInstance = Instantiate(networkRoomPlayerPrefab); networkRoomPlayerInstance.IsHost = isHost; NetworkServer.AddPlayerForConnection(conn, networkRoomPlayerInstance.gameObject); } }
public override void OnServerDisconnect(NetworkConnection conn) { if (conn.identity != null) { NetworkRoomPlayerMageBall player = conn.identity.GetComponent <NetworkRoomPlayerMageBall>(); NetworkRoomPlayers.Remove(player); NotifyPlayersOfReadyState(); } base.OnServerDisconnect(conn); }
private void GamePlayerToRoomPlayer() { for (int i = NetworkGamePlayers.Count; i-- > 0;) { NetworkConnection connection = NetworkGamePlayers[i].connectionToClient; NetworkRoomPlayerMageBall roomPlayerInstance = Instantiate(networkRoomPlayerPrefab); roomPlayerInstance.SetIsHost(NetworkGamePlayers[i].IsHost); NetworkServer.DestroyPlayerForConnection(connection); NetworkServer.AddPlayerForConnection(connection, roomPlayerInstance.gameObject); } }