Exemplo n.º 1
0
 private void ShowHeroInfo(Hero hero)
 {
     HeroHead.Source = hero.Image;
     HeroInfo.Text   = string.Format("{0}\n生命值:{1}\n攻击力:{2}", hero.Name, hero.Hp, hero.Attack);
     HeroCards.Children.Clear();
     foreach (var c in hero.Cards)
     {
         for (int i = 0; i < c.Number; ++i)
         {
             CardView cardView = CardView.CreateFromCard(c.Card);
             HeroCards.Children.Add(cardView);
         }
     }
 }
Exemplo n.º 2
0
        private void RefreshCardPanel()
        {
            CardStackPanel.Children.Clear();
            int        k = 0;
            StackPanel currentStackPanel = null;

            foreach (var c in GameEngine.Instance.Runtime.Cards)
            {
                if (c.Selected >= c.Number)
                {
                    continue;                         //不显示挑选了的
                }
                if (k % CommonSettings.HOST_CARD_IN_ONE_LINE == 0)
                {
                    k = 0;
                    currentStackPanel = new StackPanel()
                    {
                        Orientation = Orientation.Horizontal
                    };
                    CardStackPanel.Children.Add(currentStackPanel);
                }
                RuntimeCard card     = c;
                CardView    cardView = CardView.CreateFromCard(card.Card, c.Number - c.Selected);
                currentStackPanel.Children.Add(cardView);
                cardView.MouseLeftButtonDown += (s, e) =>
                {
                    if (GameEngine.Instance.Runtime.SelectCardCount < 15)
                    {
                        if (card.Selected < card.Card.Max)
                        {
                            card.Selected++;
                            this.Dispatcher.BeginInvoke(() =>
                            {
                                this.RefreshCardPanel();
                                this.RefreshCurrentCardPanel();
                            });
                        }
                        else
                        {
                            MessageBox.Show("此类卡牌你最多带" + card.Card.Max + "个");
                        }
                    }
                    else
                    {
                        MessageBox.Show("你最多只能挑选15张上场手牌");
                    }
                };
                k++;
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// 刷新手牌显示
 /// </summary>
 /// <param name="player"></param>
 /// <param name="cardPanel"></param>
 /// <param name="isBack">是否显示背面</param>
 private void RefreshHandleCards(GamePlayer player, StackPanel cardPanel, bool isBack)
 {
     cardPanel.Children.Clear();
     foreach (var card in player.HandleCard)
     {
         CardView view = null;
         if (!isBack)
         {
             view = CardView.CreateFromCard(card);
         }
         else
         {
             view = CardView.CreateBack();
         }
         cardPanel.Children.Add(view);
     }
 }
Exemplo n.º 4
0
        public void RefreshCurrentCardPanel()
        {
            int count = GameEngine.Instance.Runtime.SelectCardCount;

            this.SelectCardCountText.Text = count.ToString();
            if (count < 15)
            {
                this.SelectCardCountText.Text += "(需要15个)";
            }

            this.CurrentCardStackPanel.Children.Clear();
            int        k = 0;
            StackPanel currentStackPanel = null;

            foreach (var c in GameEngine.Instance.Runtime.Cards)
            {
                if (c.Selected == 0)
                {
                    continue;
                }
                if (k % CommonSettings.HOST_CARD_IN_ONE_LINE == 0)
                {
                    k = 0;
                    currentStackPanel = new StackPanel()
                    {
                        Orientation = Orientation.Horizontal
                    };
                    CurrentCardStackPanel.Children.Add(currentStackPanel);
                }
                RuntimeCard card     = c;
                CardView    cardView = CardView.CreateFromCard(card.Card, c.Selected);
                currentStackPanel.Children.Add(cardView);
                cardView.MouseLeftButtonDown += (s, e) =>
                {
                    card.Selected--;
                    this.Dispatcher.BeginInvoke(() =>
                    {
                        this.RefreshCardPanel();
                        this.RefreshCurrentCardPanel();
                    });
                };
                k++;
            }
        }