From 3015c0312f4898b4fe71a9ad2fd80e80ad24db4d Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Fri, 23 Oct 2020 20:33:47 +0200 Subject: [PATCH] [FIX] fix double drawing --- Client/ViewModels/ViewModelGame.cs | 7 ++++++- Server/Models/ServerClient.cs | 3 ++- Server/Models/ServerCommunication.cs | 3 ++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Client/ViewModels/ViewModelGame.cs b/Client/ViewModels/ViewModelGame.cs index 98846e3..3750369 100644 --- a/Client/ViewModels/ViewModelGame.cs +++ b/Client/ViewModels/ViewModelGame.cs @@ -75,8 +75,13 @@ namespace Client.ViewModels data.Client.IncomingPlayer = HandleIncomingPlayer; data.Client.UpdateUserScores = UpdateUserScores; + Application.Current.Dispatcher.Invoke(delegate + { + Messages.Clear(); + }); - queueTimer = new Timer(50); + + queueTimer = new Timer(50); queueTimer.Start(); queueTimer.Elapsed += sendArrayFromQueue; } diff --git a/Server/Models/ServerClient.cs b/Server/Models/ServerClient.cs index eb607d6..66b9d22 100644 --- a/Server/Models/ServerClient.cs +++ b/Server/Models/ServerClient.cs @@ -176,7 +176,8 @@ namespace Server.Models coords = JSONConvert.getCoordinates(payload), color = JSONConvert.getCanvasDrawingColor(payload) }; - serverCom.SendToLobby(serverCom.GetLobbyForUser(User),JSONConvert.GetMessageToSend(JSONConvert.CANVAS,canvasData)); + //serverCom.SendToLobby(serverCom.GetLobbyForUser(User),JSONConvert.GetMessageToSend(JSONConvert.CANVAS,canvasData)); + serverCom.SendCanvasDataToLobby(serverCom.GetLobbyForUser(User), User.Username, JSONConvert.GetMessageToSend(JSONConvert.CANVAS, canvasData)); break; case JSONConvert.CANVAS_RESET: diff --git a/Server/Models/ServerCommunication.cs b/Server/Models/ServerCommunication.cs index 3dbdb8e..9670660 100644 --- a/Server/Models/ServerCommunication.cs +++ b/Server/Models/ServerCommunication.cs @@ -174,7 +174,8 @@ namespace Server.Models { foreach (ServerClient sc in serverClientsInlobbies[l]) { - sc.sendMessage(message); + if (sc.User.Username != username) + sc.sendMessage(message); } break; }