public IEnumerator ConnectToGame(string address, OnConnect callback) { if (GameServer.Connecting || GameServer.Connected()) { Debug.LogWarning("Trying to connect to a node while still connected to another node."); callback(false); yield break; } GameServer.Connecting = true; Log("Connecting to " + address); WebSocket ws = new WebSocket(new Uri(address)); yield return(StartCoroutine(ws.Connect())); if (ws.error != null) { Debug.LogError("Error: " + ws.error); ws = null; yield break; } else { Log("Connected to Node"); } // Start message pump MessagePump game = new MessagePump(ws); game.AddDisconnectListener(GameServer.OnDisconnect); GameServer.Setup(game, this); callback(true); GameServer.Connecting = false; }