Ejemplo n.º 1
0
 private void UpdateState()
 {
     using (var client = new GameProxy.GameServiceClient())
     {
         _gameState = client.GetState(
             Model.UserSessionSingleton.Instance.UserToken.Value,
             GameToken
             );
     }
 }
Ejemplo n.º 2
0
        private void teamState_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (!_connected)
            {
                return;
            }

            if (_lastEndGameValue)
            {
                return;
            }

            if (_currentCardToken == null)
            {
                return;
            }

            int teamIndex;

            FrameworkElement element = sender as FrameworkElement;
            if (element == null)             
            {
                return;
            }

            int? elementData = element.DataContext as int?;
            if (elementData == null)
            {
                return;
            }

            teamIndex = elementData.Value;

            using (var client = new GameProxy.GameServiceClient())
            {
                var result = client.PlayCard(
                    GameToken,
                    Model.UserSessionSingleton.Instance.UserToken.Value,
                    _currentCardToken.Value,
                    teamIndex
                );

                if (result == GameProxy.PlayCardResult.SUCCESS)
                {
                    _currentCardToken = null;

                    SetGameState(client.GetState(
                        Model.UserSessionSingleton.Instance.UserToken.Value,
                        GameToken
                    ));
                }
                else
                {
                    string message;

                    switch (result)
                    {
                        case Lobby.GameProxy.PlayCardResult.CANNOT_PLAY:
                        {
                            message = "Vous ne pouvez pas jouer cette carte dans l'état actuel.";
                            break;
                        }
                        case Lobby.GameProxy.PlayCardResult.WRONG_TURN:
                        {
                            message = "Ce n'est pas votre tour à jouer.";
                            break;
                        }
                        case Lobby.GameProxy.PlayCardResult.NOT_ALL_PLAYERS_PRESENT:
                        {
                            message = "Les joueurs n'ont pas tous rejoint la partie.";
                            break;
                        }
                        case Lobby.GameProxy.PlayCardResult.SUCCESS:
                        case Lobby.GameProxy.PlayCardResult.WRONG_TOKEN:
                        case Lobby.GameProxy.PlayCardResult.WRONG_TOKEN_PLAYER:
                        case Lobby.GameProxy.PlayCardResult.ALREADY_PLAYED:
                        default:
                        {
                            message = "Une erreur non spécifiée s'est produite lors du jeu de la carte.";
                            break;
                        }
                    }

                    MessageBox.Show(message, "Erreur");
                }
            }
        }
Ejemplo n.º 3
0
 private void UpdateState()
 {
     using (var client = new GameProxy.GameServiceClient())
     {
         _gameState = client.GetState(
             Model.UserSessionSingleton.Instance.UserToken.Value,
             GameToken
         );
     }
 }
Ejemplo n.º 4
0
        private void teamState_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (!_connected)
            {
                return;
            }

            if (_lastEndGameValue)
            {
                return;
            }

            if (_currentCardToken == null)
            {
                return;
            }

            int teamIndex;

            FrameworkElement element = sender as FrameworkElement;

            if (element == null)
            {
                return;
            }

            int?elementData = element.DataContext as int?;

            if (elementData == null)
            {
                return;
            }

            teamIndex = elementData.Value;

            using (var client = new GameProxy.GameServiceClient())
            {
                var result = client.PlayCard(
                    GameToken,
                    Model.UserSessionSingleton.Instance.UserToken.Value,
                    _currentCardToken.Value,
                    teamIndex
                    );

                if (result == GameProxy.PlayCardResult.SUCCESS)
                {
                    _currentCardToken = null;

                    SetGameState(client.GetState(
                                     Model.UserSessionSingleton.Instance.UserToken.Value,
                                     GameToken
                                     ));
                }
                else
                {
                    string message;

                    switch (result)
                    {
                    case Lobby.GameProxy.PlayCardResult.CANNOT_PLAY:
                    {
                        message = "Vous ne pouvez pas jouer cette carte dans l'état actuel.";
                        break;
                    }

                    case Lobby.GameProxy.PlayCardResult.WRONG_TURN:
                    {
                        message = "Ce n'est pas votre tour à jouer.";
                        break;
                    }

                    case Lobby.GameProxy.PlayCardResult.NOT_ALL_PLAYERS_PRESENT:
                    {
                        message = "Les joueurs n'ont pas tous rejoint la partie.";
                        break;
                    }

                    case Lobby.GameProxy.PlayCardResult.SUCCESS:
                    case Lobby.GameProxy.PlayCardResult.WRONG_TOKEN:
                    case Lobby.GameProxy.PlayCardResult.WRONG_TOKEN_PLAYER:
                    case Lobby.GameProxy.PlayCardResult.ALREADY_PLAYED:
                    default:
                    {
                        message = "Une erreur non spécifiée s'est produite lors du jeu de la carte.";
                        break;
                    }
                    }

                    MessageBox.Show(message, "Erreur");
                }
            }
        }