public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            OptionPrompt choiceKey = value as OptionPrompt;

            if (choiceKey == null)
            {
                return(null);
            }
            return(LogFormatter.Translate(choiceKey));
        }
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            OptionPrompt choiceKey = value as OptionPrompt;

            if (choiceKey == null)
            {
                return(null);
            }
            if (Prompt.SuitChoices.Contains(choiceKey) || Prompt.AllegianceChoices.Contains(choiceKey))
            {
                return(dict["MultiChoiceCustomButtonStyle"] as Style);
            }
            else
            {
                return(dict["MultiChoiceButtonStyle"] as Style);
            }
        }
示例#3
0
        void Run1(Player Owner, GameEvent gameEvent, GameEventArgs eventArgs)
        {
            MultipleChoicePrompt     prompt;
            List <OptionPrompt>      options = new List <OptionPrompt>();
            OptionPrompt             option1 = new OptionPrompt("MouKuiMoPai");
            Dictionary <Player, int> map     = new Dictionary <Player, int>();

            foreach (var target in eventArgs.Targets)
            {
                if (!map.Keys.Contains(target))
                {
                    map.Add(target, 0);
                }
                options.Clear();
                options.Add(OptionPrompt.NoChoice);
                options.Add(option1);
                options.Add(new OptionPrompt("MouKuiQiZhi", target));
                bool isNaked = target.HandCards().Count + target.Equipments().Count == 0;
                prompt = isNaked ? new MultipleChoicePrompt("MouKuiDrawCardOnly") : new MultipleChoicePrompt("MouKui");
                int answer = 0;
                Owner.AskForMultipleChoice(prompt, isNaked ? OptionPrompt.YesNoChoices : options, out answer);
                if (answer == 0)
                {
                    map[target]++; continue;
                }
                MouKuiEffect = 0;
                NotifySkillUse();
                if (answer == 1)
                {
                    Game.CurrentGame.DrawCards(Owner, 1);
                }
                else
                {
                    Card theCard = Game.CurrentGame.SelectACardFrom(target, Owner, new CardChoicePrompt("MouKui", target, Owner), "QiPaiDui");
                    Game.CurrentGame.HandleCardDiscard(target, new List <Card>()
                    {
                        theCard
                    });
                }
                eventArgs.ReadonlyCard[MouKuiCheck[target]] |= (1 << map[target]);
                map[target]++;
            }
        }
示例#4
0
        protected override IEnumerable <string> execute(BeamGenerator generator)
        {
            var unknownPhrases = GetUnknownPhrases(generator).ToArray();

            if (unknownPhrases.Length != 1)
            {
                yield break;
            }

            var phraseToAsk = unknownPhrases.First();

            if (phraseToAsk.Split(' ').Length > 2)
            {
                yield break;
            }

            var newConcept         = Concept2.From(phraseToAsk);
            var newConceptInstance = new ConceptInstance(newConcept);

            var handlePropertyInstance = new ConceptInstance(Concept2.AcceptNewProperty);

            generator.SetValue(handlePropertyInstance, Concept2.Property, newConceptInstance);

            var handleConceptInstance = new ConceptInstance(Concept2.Nothing);
            var options = new Dictionary <Concept2, ConceptInstance>()
            {
                { Concept2.Property, handlePropertyInstance },
                { Concept2.ConceptName, handleConceptInstance },
            };

            var prompt = OptionPrompt.CreatePrompt(options, generator);

            //remember runtime info so others can use it
            generator.SetValue(TagInstance, Concept2.Unknown, newConceptInstance);
            generator.SetValue(TagInstance, Concept2.Prompt, prompt);

            generator.Push(new InstanceActivationRequestEvent(prompt));

            yield return($"What does '{unknownPhrases.First()}' mean?");
        }