Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    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;
    }