void PlayerDrawTurnStart(Player p) { List <Card> cardsDrawn = new List <Card>(); if (playerSideDeck.DeckCount() < p.GetStartingCardCount()) //If they need to draw more than decksize draw what you can and then shuffle the discard back in { for (int i = 0; i < playerSideDeck.DeckCount(); i++) //TODO:? Draw per turn for player is seperate { cardsDrawn.Add(playerSideDeck.RemoveTopCard()); playerHand.AddCardToBottom(cardsDrawn[i]); } for (int i = 0; i < playerDiscardPile.DeckCount(); i++) { playerSideDeck.AddCardToBottom(playerDiscardPile.RemoveTopCard()); } playerSideDeck.Shuffle(); int remainingCardsToDraw = p.GetStartingCardCount() - cardsDrawn.Count; for (int i = 0; i < remainingCardsToDraw; i++) { cardsDrawn.Add(playerSideDeck.RemoveTopCard()); playerHand.AddCardToBottom(cardsDrawn[i]); } } else { for (int i = 0; i < p.GetStartingCardCount(); i++) //TODO:? Draw per turn for player is seperate { cardsDrawn.Add(playerSideDeck.RemoveTopCard()); playerHand.AddCardToBottom(cardsDrawn[i]); } } Main.instance.DrawCardsToPlayerHand(cardsDrawn); }
public void Init(EnemyConfig config) { enemyType = config.type; name = config.name; health = new Health(); health.Init(config.health); mana = new Mana(); mana.Init(config.mana); action = new Action(); action.Init(config.action); deck = new CombatDeck(); deck.Init(config.deck); deck.Shuffle(); currentHand = new CombatHand(); discardHand = new CombatHand(); exileHand = new CombatHand(); appliedEffects = new Dictionary <Enums.AppliedEffect, int>(); isDead = false; }