private static void Execute(string script, ref DotNetScriptFunctions functions, ScriptType type) { byte[] data = Compile(script, type); var asm = AppDomain.CurrentDomain.Load(data, null); if (!(asm.CreateInstance("Script") is IScript s)) { throw new OMODFrameworkException("C# or VB Script did not contain a 'Script' class in the root namespace, or IScript was not implemented"); } s.Execute(functions); Utils.Info("Finished script execution"); }
internal static void ExecuteVB(string script, ref DotNetScriptFunctions functions) { Execute(script, ref functions, ScriptType.VB); }
internal static void ExecuteCS(string script, ref DotNetScriptFunctions functions) { Execute(script, ref functions, ScriptType.CSharp); }