private void Start() { rectTransform = GetComponent <RectTransform>(); handCardManager = GameObject.Find("Manager").GetComponent <HandCardManager>(); handCardManager.HandCardEnabled .DistinctUntilChanged() .Where(_ => !isNextCard) .Subscribe(x => { _canUse.Value = x; }) .AddTo(this); //cardUseProvider = GameObject.Find("Manager").GetComponent<CardUseProvider>(); //cardUseProvider.OnCardTaken handCardManager.OnRearrangeCard .Where(x => x.handCardIndex < handCardIndex) .Subscribe(takeInfo => { RearrangeHandCardAsync(takeInfo, this.GetCancellationTokenOnDestroy()).Forget(); }) .AddTo(this); handCardManager.OnRearrangeCard .Where(_ => !isNextCard && _canUse.Value) .Subscribe(takeInfo => { if ((int)takeInfo.cardInfo.cardType > (int)this.cardInfo.cardType) { _canUse.Value = false; } }) .AddTo(this); }
}//手牌控件初始化 private void ConfirmHandCardButton_Click(object sender, RoutedEventArgs e) { #region ChangeVisibility OriginHandCardGridView.Visibility = Visibility.Collapsed; ConfirmHandCardButton.Visibility = Visibility.Collapsed; HandCardGridView.Visibility = Visibility.Visible; CostTextBlock.Visibility = Visibility.Visible; MaxCostTextBlock.Visibility = Visibility.Visible; CurrentCostTextBlock.Visibility = Visibility.Visible; PlayerEndTurnButton.Visibility = Visibility.Visible; LeftCardNum.Visibility = Visibility.Visible; #endregion var changeList = OriginHandCardGridView.SelectedItems; foreach (var item in changeList) { Card card = (item as Grid).DataContext as Card; if (card.CardType == CardTypes.MinionCard) { mainBattlefield.Player.HandCard.Remove(card); HandCardManager.DrawCard(mainBattlefield.Player); HandCardManager.ShuffleIntoDeck((MinionCard)card.CardData, mainBattlefield.Player); } else { mainBattlefield.Player.HandCard.Remove(card); HandCardManager.DrawCard(mainBattlefield.Player); HandCardManager.ShuffleIntoDeck((SpellCard)card.CardData, mainBattlefield.Player); } } PlayerTurn(); }//换牌按钮点击
public void PlayerTurnInit() { HandCardManager.DrawCard(player); if (maxCost < 10) { CostPlus(); } currentCost = maxCost; }
private void UpdateHandCardGridView(GridView gridView) { LeftCardNum.Text = (mainBattlefield.Player.CurrentDeck.MinionCard.Count() + mainBattlefield.Player.CurrentDeck.SpellCard.Count()).ToString() + " cards in deck"; HandCardManager.UpdateHandCardGirdView(gridView, mainBattlefield.Player); foreach (var item in gridView.Items) { (item as Grid).PointerEntered += Card_PointerEntered; (item as Grid).PointerExited += Card_PointerExited; } }
private void HandCardInit() { #region ChangeVisibility OriginHandCardGridView.Visibility = Visibility.Visible; ConfirmHandCardButton.Visibility = Visibility.Visible; HandCardGridView.Visibility = Visibility.Collapsed; CurrentCostTextBlock.Visibility = Visibility.Collapsed; PlayerEndTurnButton.Visibility = Visibility.Collapsed; #endregion HandCardManager.DrawCard(4, mainBattlefield.Player); UpdateHandCardGridView(OriginHandCardGridView); }//手牌控件初始化
/// <summary> /// 抽牌 /// </summary> /// <param name="value">格式:"int" </param> public static void DrawCard(PlayerData player, string value) { int num = int.Parse(value); HandCardManager.DrawCard(num, player); }