private IEnumerator OpenConnectionToServer() { w = new WebSocket(new Uri("ws://localhost:3000/ws")); yield return(StartCoroutine(w.Connect())); w.SendString("{\"type\":\"CONNECTED\"}"); stateManager.ChangeConnectionState(ConnectionState.CONNECTED); while (true) { string reply = w.RecvString(); ServerMessage message = JsonUtility.FromJson <ServerMessage>(reply); if (reply != null) { if (message.type == "LoginRequest") { DispatchMessage(JsonUtility.FromJson <LoginRequestMessage> (reply)); } if (message.type == "LoginSuccessful") { DispatchMessage(JsonUtility.FromJson <LoginRequestMessage> (reply)); } if (message.type == "RequestCharacterResponse") { DispatchMessage(JsonUtility.FromJson <RequestCharacterResponse> (reply)); RequestCharacterResponse characters = JsonUtility.FromJson <RequestCharacterResponse> (reply); for (int i = 0; i < characters.payload.characters.Length; i++) { Debug.Log(characters.payload.characters[i].name); Debug.Log(characters.payload.characters[i].ownerid); Debug.Log(characters.payload.characters[i].position.x); Debug.Log(characters.payload.characters[i].position.y); Debug.Log(characters.payload.characters[i].mapid); Debug.Log(characters.payload.characters[i].spriteid); } } } if (w.error != null) { Debug.LogError("Error: " + w.error); wsopen = false; stateManager.ChangeConnectionState(ConnectionState.DISCONNECTED); break; } yield return(0); } w.Close(); }
public void ReceiveMessage <T>(T message) { if (typeof(T) == typeof(RequestCharacterResponse)) { RequestCharacterResponse characters = message as RequestCharacterResponse; Debug.Log("Character Select"); for (int i = 0; i < characters.payload.characters.Length; i++) { Debug.Log(characters.payload.characters [i].name); Debug.Log(characters.payload.characters [i].ownerid); Debug.Log(characters.payload.characters [i].position.x); Debug.Log(characters.payload.characters [i].position.y); Debug.Log(characters.payload.characters [i].mapid); Debug.Log(characters.payload.characters [i].spriteid); } } }