public void Execute(SaveFile saveFile, string folderPath, bool debuggingEnabled, int debuggingPort) { V8ScriptEngineFlags flag; if (debuggingEnabled) { flag = V8ScriptEngineFlags.EnableDebugging; } else { flag = V8ScriptEngineFlags.None; } if (_engine == null) { _engine = new V8ScriptEngine(flag, debuggingPort); } _engine.DocumentSettings.AccessFlags = DocumentAccessFlags.EnableFileLoading; _engine.AddHostObject("lib", new HostTypeCollection(typeof(SaveFile).Assembly)); _engine.AddHostObject("nodes", saveFile.Nodes); _engine.AddHostObject("host", new HostFunctions()); _engine.AddHostType(typeof(Enumerable)); _engine.AddHostType(typeof(EnumerableExtensions)); _engine.ExecuteDocument(Path.Combine(folderPath, "script.js")); }