using System.Collections.Generic; using KernelPanic.Core; using KernelPanic.Data; namespace KernelPanic.Run { /// /// Describes the player choices and starting deck used to begin a run. /// public sealed class RunConfig { public RunConfig(DistroDefinition distro, Language primaryLanguage, Language secondaryLanguage, IReadOnlyList startingDeck) : this(distro, primaryLanguage, secondaryLanguage, startingDeck, 0) { } public RunConfig(DistroDefinition distro, Language primaryLanguage, Language secondaryLanguage, IReadOnlyList startingDeck, int runSeed) { Distro = distro; PrimaryLanguage = primaryLanguage; SecondaryLanguage = secondaryLanguage; StartingDeck = startingDeck; RunSeed = runSeed; } public DistroDefinition Distro { get; } public Language PrimaryLanguage { get; } public Language SecondaryLanguage { get; } public IReadOnlyList StartingDeck { get; } public int RunSeed { get; } } }