Exemplo n.º 1
0
        private static IEnumerable <CardRequirement> GetCardCountRequirements()
        {
            var cardType = ConsoleUtility.GetUserInputRequiredValue("What type of card count is changing?", "Ally", "Adversary", "Mastermind", "Henchman", "Bystander");
            var changesBasedOnPlayerCount = ConsoleUtility.GetUserInputBool("Does the card count change based on number of players?");

            if (!changesBasedOnPlayerCount)
            {
                int additionalSets = ConsoleUtility.GetUserInputInt("Additional sets: ");

                yield return(cardType switch
                {
                    "Ally" => new CardRequirement {
                        AdditionalSetCount = additionalSets, CardSetType = CardSetType.CardSetAlly
                    },
                    "Adversary" => new CardRequirement {
                        AdditionalSetCount = additionalSets, CardSetType = CardSetType.CardSetAdversary
                    },
                    "Mastermind" => new CardRequirement {
                        AdditionalSetCount = additionalSets, CardSetType = CardSetType.CardSetMastermind
                    },
                    "Henchman" => new CardRequirement {
                        AdditionalSetCount = additionalSets, CardSetType = CardSetType.CardSetHenchman
                    },
                    "Bystander" => new CardRequirement {
                        AdditionalSetCount = additionalSets, CardSetType = CardSetType.CardSetBystander
                    },
                    _ => throw new Exception("Failed to match on cardType")
                });
Exemplo n.º 2
0
        public static async ValueTask <IEnumerable <CardRequirement> > GetSingleCardRequirement(GameServiceClient client, int currentGamePackageId)
        {
            var result = ConsoleUtility.GetUserInputRequiredValue("What type of requirement is this?", "Count", "AdditionalCards");

            if (result == "Count")
            {
                return(GetCardCountRequirements());
            }
            if (result == "AdditionalCards")
            {
                return(await GetAdditionalCardRequirements(client, currentGamePackageId));
            }

            return(new CardRequirement[] { });
        }