public CraftingAI(Character user) { OpenFileDialog openfiledialog = new OpenFileDialog(); openfiledialog.Filter = Resources.CraftingAI_CraftingAI_Crafting_AI_Script____csx____csx; if (openfiledialog.ShowDialog() == DialogResult.Cancel) return; _scriptingObject = new ScriptingObject(user); _host = new ScriptingHost(_scriptingObject); _host.ImportNamespace("Chocobot.Utilities.Keyboard"); _host.ImportNamespace("Chocobot.Datatypes"); try { _host.ExecuteFile(openfiledialog.FileName); } catch (Roslyn.Compilers.CompilationErrorException ex) { MessageBox.Show(ex.Diagnostics.ToString(), Resources.CraftingAI_CraftingAI_Scripting_Error, MessageBoxButtons.OK, MessageBoxIcon.Error); Debug.Print(ex.Diagnostics.ToString()); return; } try { var res = _host.Execute("Initialize();"); } catch (Roslyn.Compilers.CompilationErrorException ex) { Console.WriteLine("{0}{1}", Environment.NewLine, ex.Diagnostics); throw; } _valid = true; }
public override void Reset() { if (_valid == false) { return; } try { var res = _host.Execute("Reset();"); if (res != null) { Console.WriteLine(" = " + res.ToString()); } } catch (Roslyn.Compilers.CompilationErrorException ex) { Console.WriteLine("{0}{1}", Environment.NewLine, ex.Diagnostics); throw; } base.Reset(); }
public ScriptAI() : base() { IsRanged = true; Name = "Scripting"; OpenFileDialog openfiledialog = new OpenFileDialog(); openfiledialog.Filter = "Class AI Script (*.csx)|*.csx"; if (openfiledialog.ShowDialog() == DialogResult.Cancel) { return; } _scriptingObject = new ScriptingObject(); _host = new ScriptingHost(_scriptingObject); _host.ImportNamespace("Chocobot.Utilities.Keyboard"); _host.ImportNamespace("Chocobot.Datatypes"); _host.ImportNamespace("Chocobot.MemoryStructures.Abilities.Recast"); _host.ImportNamespace("Chocobot.MemoryStructures.Abilities.Hotkeys"); _host.ImportNamespace("Chocobot.Utilities.Memory"); _host.ImportNamespace("Chocobot.Utilities.Memory.MemoryFunctions"); _host.ImportNamespace("Chocobot.MemoryStructures.Character"); _host.ImportNamespace("System.DateTime"); _host.ImportNamespace("Chocobot.Datatypes.Global"); try { _host.ExecuteFile(openfiledialog.FileName); } catch (Roslyn.Compilers.CompilationErrorException ex) { MessageBox.Show(ex.Diagnostics.ToString(), "Scripting Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Debug.Print(ex.Diagnostics.ToString()); return; } try { var res = _host.Execute("Initialize();"); } catch (Roslyn.Compilers.CompilationErrorException ex) { Console.WriteLine("{0}{1}", Environment.NewLine, ex.Diagnostics); throw; } IsRanged = _scriptingObject.IsRanged; _valid = true; }
public override Result Query(string query) { MongoDatabase database = GetDatabase(); var host = new ScriptingHost(database) {}; InitializeHost(host); object data = host.Execute(query); return new Result { Success = true, Data = data }; }
public ScriptAI() : base() { IsRanged = true; Name = "Scripting"; OpenFileDialog openfiledialog = new OpenFileDialog(); openfiledialog.Filter = "Class AI Script (*.csx)|*.csx"; if (openfiledialog.ShowDialog() == DialogResult.Cancel) return; _scriptingObject = new ScriptingObject(); _host = new ScriptingHost(_scriptingObject); _host.ImportNamespace("Chocobot.Utilities.Keyboard"); _host.ImportNamespace("Chocobot.Datatypes"); _host.ImportNamespace("Chocobot.MemoryStructures.Abilities.Recast"); _host.ImportNamespace("Chocobot.MemoryStructures.Abilities.Hotkeys"); _host.ImportNamespace("Chocobot.Utilities.Memory"); _host.ImportNamespace("Chocobot.Utilities.Memory.MemoryFunctions"); _host.ImportNamespace("Chocobot.MemoryStructures.Character"); _host.ImportNamespace("System.DateTime"); _host.ImportNamespace("Chocobot.Datatypes.Global"); try { _host.ExecuteFile(openfiledialog.FileName); } catch (Roslyn.Compilers.CompilationErrorException ex) { MessageBox.Show(ex.Diagnostics.ToString(), "Scripting Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Debug.Print(ex.Diagnostics.ToString()); return; } try { var res = _host.Execute("Initialize();"); } catch (Roslyn.Compilers.CompilationErrorException ex) { Console.WriteLine("{0}{1}", Environment.NewLine, ex.Diagnostics); throw; } IsRanged = _scriptingObject.IsRanged; _valid = true; }
protected object Filter(IEnumerable collection, Type type, NameValueCollection param) { object data = null; if (param["$filter"] != null) { var casted = Cast(collection, type); data = Filter(casted, type, param); } else { string finalQuery = ""; if (param["$query"] != null) { finalQuery = string.Format("{0} " + param["$query"] + "{1}", "(from " + type.Name + " row in Rows where ", " select row)"); } else { finalQuery = "(from " + type.Name + " row in Rows select row)"; } if (param["$skip"] != null) { int skip; int.TryParse(param["$skip"], out skip); finalQuery += ".Skip(" + skip + ")"; } if (param["$take"] != null) { int take; int.TryParse(param["$take"], out take); finalQuery += ".Take(" + take + ")"; } var host = new ScriptingHost { Rows = collection }; InitializeHost(host); host.AddReference(type.Assembly); host.ImportNamespace(type.Namespace); data = host.Execute(finalQuery); } return data; }