Example #1
0
    public void NextTurn()
    {
        // Rent
        if (rent.RentDue)
        {
            PlayCard(rent.RentCard, rent);
        }
        else if (rent.RentOverdue)
        {
            PlayCardSubtle(rent.OverdueRentCard, rent);
        }

        // Other
        resources.NextTurn();
        if (!LoseConditionsMet())
        {
            weeks.NextTurn();
            mana.NextTurn();
            int[] discardedCards = hand.Empty();
            memoriesPile.AddCards(discardedCards);
            library.ResetIndexes();
            DrawEvent();
            DrawHand();
        }
        else
        {
            if (gameState == GameState.PLAY) // Otherwise already lost by playing a card
            {
                GameOverLose();
            }
        }
    }