protected async override void ModifierRecognized(object sender, SpeechRecognizedEventDetails args) { SpeechRecognitionHelper.ModifierWords current = SpeechRecognitionHelper.reverseModifierDict[args.text]; switch (current) { case SpeechRecognitionHelper.ModifierWords.UNDO: { ItemInsertion peeked = stack.Peek(); if (peeked.address == null) { Console.WriteLine("Nothing else to undo..."); return; } Console.WriteLine("Undoing... " + Program.interaction.currentSheet.Cells[peeked.address.Row, peeked.address.Column - 2].GetValue <string>() + " with " + peeked.count + " items"); if (await Confirmation.AskForBooleanConfirmation("'Confirm'/'Refuse'")) { Console.Write("Confirming"); ItemInsertion poped = stack.Pop(); Program.interaction.AddNumberTo(poped.address, -poped.count); } else { Console.Write("Refusing"); } return; } default: { Console.WriteLine("Unsupported word " + args.text); return; } } }
protected override void SpeechRecognized(object sender, SpeechRecognizedEventDetails args) { if (SpeechRecognitionHelper.reverseModifierDict.ContainsKey(args.text)) { ModifierRecognized(this, args); return; } Console.WriteLine(args.text + " -- " + args.confidence); DefinitionParserData.Item item = DefinitionParser.instance.currentGrammarFile.GetItemEntry(DefinitionParser.instance.currentGrammarFile.GetMainPronounciation(args.text)); enemyHandling.ItemDropped(item); }
protected override void ModifierRecognized(object sender, SpeechRecognizedEventDetails args) { SpeechRecognitionHelper.ModifierWords modifier = SpeechRecognitionHelper.reverseModifierDict[args.text]; PreModiferEvaluation(modifier); OnModifierRecognized?.Invoke(this, new ModiferRecognizedEventArgs() { modifier = modifier, triggeringItem = args.text, }); PostModiferEvaluation(modifier); }
protected override void SpeechRecognized(object sender, SpeechRecognizedEventDetails args) { if (SpeechRecognitionHelper.reverseModifierDict.ContainsKey(args.text)) { ModifierRecognized(this, args); return; } Console.WriteLine(args.text + " -- " + args.confidence); string mainPronounciation = DefinitionParser.instance.currentGrammarFile.GetMainPronounciation(args.text); ExcelCellAddress address = Program.interaction.GetAddress(mainPronounciation); StopRecognition(); numbers.RecognizeAsync(RecognizeMode.Multiple); evnt.Wait(); //Now we have an address and how many items they received Console.WriteLine("Parsed: " + _count); stack.Push(new ItemInsertion(address, _count)); Program.interaction.AddNumberTo(address, _count); evnt.Reset(); }
/// <summary> /// Define modifier recognized behaviour /// </summary> protected abstract void ModifierRecognized(object sender, SpeechRecognizedEventDetails args);
public void EnemyHandlingItemDroppedWrapper(SpeechRecognizedEventDetails args) { Console.WriteLine("Activated hotkey for item " + args.text + "!"); Program.gameRecognizer.enemyHandling.ItemDropped(args.text, 1); }
public void RemapHotkey(Keys key, Action <SpeechRecognizedEventDetails> action, SpeechRecognizedEventDetails arguments) { FreeSpecific(key, false); AssignToHotkey(key, action, arguments); }
/// <summary> /// Assign hotkey 'selectedKey' + 'modifier' keys to call function 'action' with 'arguments' /// </summary> public int AssignToHotkey(Keys selectedKey, KeyModifiers modifier1, KeyModifiers modifier2, KeyModifiers modifier3, Action <SpeechRecognizedEventDetails> action, SpeechRecognizedEventDetails arguments) { if (voiceHotkeys.ContainsKey(selectedKey)) { throw new CustomException(selectedKey + " already mapped to " + voiceHotkeys[selectedKey] + "!"); } voiceHotkeys.Add(selectedKey, new ActionStashSpeechArgs() { _action = action, _data = arguments, _keyModifier = modifier1 | modifier2 | modifier3, _unregID = HotKeyManager.RegisterHotKey(selectedKey, modifier1 | modifier2 | modifier3) } ); return(voiceHotkeys[selectedKey]._unregID); }