Esempio n. 1
0
        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];
        }
Esempio n. 2
0
 private void SocketClientOnServerStrokeSent(object source, EventArgs args)
 {
     if (_roundStarted)
     {
         StrokeDrawerService?.Enqueue((args as StrokeSentEventArgs).StrokeInfo);
     }
 }