Exemple #1
0
        void IPlayerEvents.GameStateChanged(string cells, PlayerGameStatus status)
        {
            UpdateCells(cells);
            UpdateClientStatus(status);

            if (status == PlayerGameStatus.Tie || status == PlayerGameStatus.YouLost || status == PlayerGameStatus.YouWon)
            {
                Dispatcher.CurrentDispatcher.InvokeAsync(async () =>
                {
                    PlayerStats = await Player.GetStats();
                }, DispatcherPriority.ApplicationIdle);

                var message = status ==
                    PlayerGameStatus.Tie ?
                    "Noone won." :
                    status == PlayerGameStatus.YouLost ?
                    "Sorry, you lost." :
                    "Congratulations! You won.";

                MessageBox.Show(message, $"Hi {PlayerName}", MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }
Exemple #2
0
 private void UpdateClientStatus(PlayerGameStatus status)
 {
     switch (status)
     {
         case PlayerGameStatus.MoveRequired:
             ClientStatus = ClientStatus.MyTurn;
             break;
         case PlayerGameStatus.Tie:
             ClientStatus = ClientStatus.Tie;
             break;
         case PlayerGameStatus.YouLost:
             ClientStatus = ClientStatus.Lost;
             break;
         case PlayerGameStatus.YouWon:
             ClientStatus = ClientStatus.Won;
             break;
         default:
             ClientStatus = ClientStatus.OthersTurn;
             break;
     }
     NotifyStatusChanges();
 }
Exemple #3
0
 public void GameStateChanged(string cells, PlayerGameStatus status)
 {
     throw new NotImplementedException();
 }