public virtual void DeckViewer_DragDrop(object sender, DragEventArgs e) { if (e.Data.GetData(typeof(CardBox)) != null) { System.Console.WriteLine("DragDrop"); //int cardHashCode = Convert.ToInt32(e.Data.GetData(DataFormats.Text).ToString()); //Card draggedCard = new Card(cardHashCode); CardBox draggedCard = (CardBox)e.Data.GetData(typeof(CardBox)); if (draggedCard != null && draggedCard.Parent.GetType() == typeof(DeckPileViewer)) { DeckViewer fromPanel = draggedCard.Parent as DeckPileViewer; DeckViewer toPanel = sender as DeckViewer; if (toPanel != null && fromPanel != null) { if (toPanel != fromPanel) { fromPanel.RemoveCard(draggedCard.Card); toPanel.AddCard(draggedCard.Card); } } } } }
/// <summary> /// Refills the player and AIs hands to be at least the minimum number of cards at the end of a bout /// </summary> public void RefillCards() { //Refill the AIs cards while (enemyDeckViewer.GetCards().Count < CARD_MIN_BEFORE_REFILL && drawDeckViewer.GetCards().Count > 0) { enemyDeckViewer.AddCard(drawDeckViewer.TakeCard(drawDeckViewer.GetCards().Count - 1)); } //Refill the players cards while (playerDeckViewer.GetCards().Count < CARD_MIN_BEFORE_REFILL && drawDeckViewer.GetCards().Count > 0) { playerDeckViewer.AddCard(drawDeckViewer.TakeCard(drawDeckViewer.GetCards().Count - 1)); } }