private void testButtonClick(object sender, RoutedEventArgs e) { // Splice the new script in to the existing scripts Dictionary<string, Script> newScripts = new Dictionary<string, Script>(scripts); Script testScript = new Script(ScriptName, ScriptDescription, false, ScriptValue); newScripts.Remove(ScriptName); newScripts.Add(ScriptName, testScript); SpeechResponder responder = new SpeechResponder(); responder.Start(); // See if we have a sample Event sampleEvent; object sample = Events.SampleByName(script.Name); if (sample == null) { sampleEvent = null; } else if (sample.GetType() == typeof(string)) { // It's as tring so a journal entry. Parse it sampleEvent = JournalMonitor.ParseJournalEntry((string)sample); } else if (sample.GetType() == typeof(Event)) { // It's a direct event sampleEvent = (Event)sample; } else { Logging.Warn("Unknown sample type " + sample.GetType()); sampleEvent = null; } ScriptResolver scriptResolver = new ScriptResolver(newScripts); responder.Say(scriptResolver, ScriptName, sampleEvent, 3, false); }
private void acceptButtonClick(object sender, RoutedEventArgs e) { if (script != null) { // Updated an existing script so remove it from the list scripts.Remove(script.Name); } script = new Script(scriptName, scriptDescription, script == null ? false : script.Responder, scriptValue); scripts.Add(script.Name, script); DialogResult = true; this.Close(); }
private void newScriptClicked(object sender, RoutedEventArgs e) { string baseName = "New function"; string scriptName = baseName; int i = 2; while (Personality.Scripts.ContainsKey(scriptName)) { scriptName = baseName + " " + i++; } Script script = new Script(scriptName, null, false, null); Personality.Scripts.Add(script.Name, script); // Now fire up an edit EditScriptWindow editScriptWindow = new EditScriptWindow(Personality.Scripts, script.Name); if (editScriptWindow.ShowDialog() == true) { Personality.ToFile(); EDDI.Instance.Reload("Speech responder"); } else { Personality.Scripts.Remove(script.Name); } scriptsData.Items.Refresh(); }