// Event Handlers void OnConnect(NetworkConnection connection) { var client = new NetworkClientPlayer(connection, LowestAvailablePlayerID(connection)); client.Config.PlayerID = client.PlayerID; clients[connection] = client; PlayerAdded?.Invoke(client); }
public INetworkClient CreateLocalClient() { // TODO(james7132): Make this dynamic var clientToServer = new LocalInterface(); var serverInterface = clientToServer.Mirror; var serverToClient = serverInterface.Connection; var localClient = new NetworkClientPlayer(serverToClient, LowestAvailablePlayerID(serverToClient)); localClient.Config.PlayerID = localClient.PlayerID; clients[serverToClient] = localClient; PlayerAdded?.Invoke(localClient); AddNetworkInterface(serverInterface); return(new NetworkGameClient(clientToServer.Connection)); }
void ServerHandleClientReady(NetworkClientPlayer player) { if (!player.IsReady) { return; } Debug.Log($"Server: Client {player.PlayerID} is Ready"); if (!AllClientsAreReady) { return; } Debug.Log("Server: All Clients are Ready"); NetworkManager.Server.SetReady(true); ServerReady.TrySetResult(true); }
void InitalizePlayer(NetworkClientPlayer player) { player.Config.Selection = CharacterSelectMenu.CreateNewSelection(player.PlayerID); }
void OnServerUpdatePlayer(NetworkClientPlayer player) => OnServerUpdatedConfig();
void OnServerAddPlayer(NetworkClientPlayer player) { InitalizePlayer(player); OnServerUpdatedConfig(); }
internal void InvokePlayerUpdated(NetworkClientPlayer client) { PlayerUpdated?.Invoke(client); }
void OnServerUpdatePlayer(NetworkClientPlayer player) { Debug.Log($"Player config updated: {player.PlayerID} {player.Config}"); OnServerUpdatedConfig(); }