From 5b5d66c41b09d377059ce8f760a578e0fb6b6f57 Mon Sep 17 00:00:00 2001 From: Dogukan Date: Thu, 22 Oct 2020 13:55:19 +0200 Subject: [PATCH] [ADDITION] Tried to send the random word to a lobby --- Client/Client.cs | 4 +++ Client/ViewModels/ViewModelGame.cs | 40 +++++++++++++++++----------- Client/Views/GameWindow.xaml | 2 ++ Server/Models/ServerClient.cs | 11 +++++++- Server/Models/ServerCommunication.cs | 1 + Server/Server.csproj | 2 +- SharedClientServer/JSONConvert.cs | 30 ++++++++++++++++----- 7 files changed, 66 insertions(+), 24 deletions(-) diff --git a/Client/Client.cs b/Client/Client.cs index bc7b2b5..25f07c1 100644 --- a/Client/Client.cs +++ b/Client/Client.cs @@ -138,6 +138,10 @@ namespace Client // canvas data break; + case JSONConvert.RANDOMWORD: + //Flag byte for receiving the random word. + ViewModels.ViewModelGame.HandleRandomWord(JSONConvert.GetRandomWord(payload)); + break; default: Debug.WriteLine("[CLIENT] Received weird identifier: " + id); break; diff --git a/Client/ViewModels/ViewModelGame.cs b/Client/ViewModels/ViewModelGame.cs index 661e83f..cbc6a49 100644 --- a/Client/ViewModels/ViewModelGame.cs +++ b/Client/ViewModels/ViewModelGame.cs @@ -1,11 +1,12 @@ -using Client.Views; +using Client.Views; using GalaSoft.MvvmLight.Command; using SharedClientServer; using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics; using System.Windows; +using System.Windows.Controls; using System.Windows.Input; using System.Windows.Media; using System.Windows.Shapes; @@ -25,6 +26,12 @@ namespace Client.ViewModels private dynamic _payload; + public static string Word + { + get; + set; + } + public string _username; public string _message; @@ -82,21 +89,10 @@ namespace Client.ViewModels colorSelected.B = window.ClrPcker_Background.SelectedColor.Value.B; color = colorSelected; } - + public ViewModelGame() { - if (_payload == null) - { - _message = ""; - - } - else - { - //_message = data.Message; - //_username = data.User.Username; - //Messages.Add($"{data.User.Username}: {Message}"); - } OnKeyDown = new RelayCommand(ChatBox_KeyDown); } @@ -121,6 +117,10 @@ namespace Client.ViewModels data.Client.SendMessage(JSONConvert.GetMessageToSend(JSONConvert.MESSAGE, _payload)); } + /* + * MISC make this a callback + * Handles the incoming chat message from another client. + */ public static void HandleIncomingMsg(string username, string message) { Application.Current.Dispatcher.Invoke(delegate @@ -128,13 +128,21 @@ namespace Client.ViewModels Messages.Add($"{username}: {message}"); }); } - public void LeaveGame(object sender, System.ComponentModel.CancelEventArgs e) + public void LeaveGame(object sender, CancelEventArgs e) { Debug.WriteLine("Leaving..."); data.Client.SendMessage(JSONConvert.ConstructLobbyLeaveMessage(data.Lobby.ID)); } - + /* + * MISC make this a callback + * Handles the random word that has been received from the server. + */ + public static void HandleRandomWord(string randomWord) + { + Debug.WriteLine("[CLIENT] Reached the handle random word method!"); + Word = "NegerPik"; + } } } - + diff --git a/Client/Views/GameWindow.xaml b/Client/Views/GameWindow.xaml index 1599e1f..dff9a66 100644 --- a/Client/Views/GameWindow.xaml +++ b/Client/Views/GameWindow.xaml @@ -36,6 +36,8 @@