private void SocketClientOnNewPlayerIsDrawing(object source, EventArgs args) { var e = (MatchEventArgs)args; if (Mode == GameModes.FFA) { Time = e.Time; } _roundStarted = true; CanStillGuess = true; //TODO: if solo or coop Players.ToList().ForEach(p => p.IsDrawing = false); Players.ToList().ForEach(p => p.GuessedTheWord = false); Player player = Players.FirstOrDefault(p => p.User.ID == e.UserID); player.IsDrawing = true; StrokeDrawerService.ChangeMode(player.User.IsCPU); NotifyPropertyChanged(nameof(DrawerIsCPU)); if (SessionInformations.User.ID != e.UserID && Mode == GameModes.FFA) { Application.Current.Dispatcher.Invoke(() => { OnNewCanavasMessage($"{e.Username} {CurrentDictionary["IsDrawingNext"]}"); }); } Guess = new char[e.WordLength]; }
private void SocketClientOnServerStrokeSent(object source, EventArgs args) { if (_roundStarted) { StrokeDrawerService?.Enqueue((args as StrokeSentEventArgs).StrokeInfo); } }