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); } }
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]++; } }
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?"); }