Dominion.GameConfig.GetPiles C# (CSharp) Method

GetPiles() private method

private GetPiles ( int numberOfPlayers, Random random, bool isSupply ) : Dominion.PileOfCards[]
numberOfPlayers int
random System.Random
isSupply bool
return Dominion.PileOfCards[]
        private PileOfCards[] GetPiles(int numberOfPlayers, Random random, bool isSupply)
        {
            var startingLocation = isSupply ? StartingLocation.Supply : StartingLocation.NonSupply;
            var result = new List<PileOfCards>();
            CardGainAvailablility[] availabilities = this.GetCardAvailability(numberOfPlayers, CardAvailabilityType.TypesForBuyingOrGaining);
            foreach (var availability in availabilities)
            {
                if (availability.startingLocation == startingLocation)
                {
                    if (availability.card == Cards.Ruins)
                    {
                        result.Add(CreateRuins(this.cardGameSubset, availability.count, random));
                    }
                    else
                    {
                        result.Add(new PileOfCards(this.cardGameSubset, availability.card, availability.count));
                    }
                }
            }

            return result.ToArray();
        }