コード例 #1
0
        private void FillCards(GameProxy.GameState gameState)
        {
            for (int i = 0; i < _cardsInHandImages.Length; i++)
            {
                var image = _cardsInHandImages[i];

                if (i < gameState.CardsInHand.Length)
                {
                    var card = gameState.CardsInHand[i];
                    if (_imageLookup.ContainsKey(card.CardId))
                    {
                        image.Source = GetImageFromRessources(
                            "component/Images/" + _imageLookup[card.CardId]
                            );
                        image.DataContext = card.Token;
                    }
                    else
                    {
                        image.Source      = GetImageFromRessources(PLACEHOLDER_CARD);
                        image.DataContext = null;
                    }
                }
                else
                {
                    image.Source      = GetImageFromRessources(PLACEHOLDER_CARD);
                    image.DataContext = null;
                }
            }
        }
コード例 #2
0
 private void UpdateState()
 {
     using (var client = new GameProxy.GameServiceClient())
     {
         _gameState = client.GetState(
             Model.UserSessionSingleton.Instance.UserToken.Value,
             GameToken
             );
     }
 }
コード例 #3
0
 private void FillPlayers(GameProxy.GameState gameState)
 {
     dgPlayers.ItemsSource = gameState.Players.Select(gp => new Model.GamePlayerListItem()
     {
         IsCurrent   = gp.Order == gameState.CurrentPlayer,
         TeamIndex   = gp.TeamIndex,
         Name        = gp.Name,
         IsSelf      = gp.Order == gameState.OwnPlayerOrder,
         IsConnected = gp.Order >= 0
     });
 }
コード例 #4
0
        private void SetGameState(GameProxy.GameState gameState)
        {
            _gameState = gameState;

            tscOwnTeam.SetTeamState(gameState.OwnTeamState);
            tscOwnTeam.DataContext = gameState.OwnTeamState.TeamIndex;

            FillOpponentsTeamStates(gameState);
            FillCards(gameState);
            FillPlayers(gameState);
        }
コード例 #5
0
        private void FillOpponentsTeamStates(GameProxy.GameState gameState)
        {
            for (int i = 0; i < _opponentsTeamStateControls.Length; i++)
            {
                var control = _opponentsTeamStateControls[i];

                if (i < gameState.OpponentsTeamStates.Length)
                {
                    var opponentState = gameState.OpponentsTeamStates[i];
                    control.SetTeamState(opponentState);
                    control.DataContext = opponentState.TeamIndex;
                }
                else
                {
                    control.ClearTeamState();
                    control.DataContext = null;
                }
            }
        }
コード例 #6
0
        private void SetGameState(GameProxy.GameState gameState)
        {
            _gameState = gameState;

            tscOwnTeam.SetTeamState(gameState.OwnTeamState);
            tscOwnTeam.DataContext = gameState.OwnTeamState.TeamIndex;

            FillOpponentsTeamStates(gameState);
            FillCards(gameState);
            FillPlayers(gameState);
        }
コード例 #7
0
 private void UpdateState()
 {
     using (var client = new GameProxy.GameServiceClient())
     {
         _gameState = client.GetState(
             Model.UserSessionSingleton.Instance.UserToken.Value,
             GameToken
         );
     }
 }