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); } }
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(); }
public void GameStateChanged(string cells, PlayerGameStatus status) { throw new NotImplementedException(); }