// Start is called before the first frame update async void Start() { //PlayerSessionInformation.SetGameStart(); //PlayerSessionInformation.SetClock(); websocket = new WebSocket("wss://card-matching-server.herokuapp.com/socket.io/?EIO=4&transport=websocket"); //websocket = new WebSocket("ws://localhost:3000"); websocket.OnOpen += () => { Debug.Log("CONNECTED!"); }; websocket.OnError += (e) => { Debug.Log("ERROR! " + e); }; websocket.OnClose += (e) => { Debug.Log("DISCONNECTED"); }; websocket.OnMessage += (bytes) => { // getting the message as a string string message = System.Text.Encoding.UTF8.GetString(bytes); //Check if it is about the leaderboard LeaderboardMessage messageFromJSON = JsonUtility.FromJson <LeaderboardMessage>(message); //string type = messageFromJSON.type; Debug.Log(messageFromJSON.value.Length); if (messageFromJSON.type == "LEADERBOARD_GET") { leaderboardList.Clear(); for (int x = 0; x < messageFromJSON.value.Length; x++) { Player player = new Player { name = messageFromJSON.value[x].name, moves = messageFromJSON.value[x].moves, seconds = messageFromJSON.value[x].seconds, score = messageFromJSON.value[x].score }; leaderboardList.Add(player); } LeaderboardData.UpdateLeaderboardData(leaderboardList); } }; await websocket.Connect(); //Posso criar uma condição para tentar realizar a abertura de conexão }
public void ReceiveMessage(Message message) { LeaderboardMessage ldbMessage = LeaderboardMessage.Build(message.payload); ldbMessage.users.ForEach(user => leaderboard.AddUser(user)); }