private void OnInit() { if (_runMode == RunMode.Playing) { return; } if (_runtime == null) { var logger = new DefaultScriptLogger(); var pathResolver = new PathResolver(); var fileSystem = new DefaultFileSystem(logger); var asyncManager = new DefaultAsyncManager(); _tick = Environment.TickCount; _runtime = ScriptEngine.CreateRuntime(true); _runtime.AddModuleResolvers(); _runtime.extraBinding = (runtime, register) => { FSWatcher.Bind(register); }; _runtime.Initialize(new ScriptRuntimeArgs { fileSystem = fileSystem, pathResolver = pathResolver, asyncManager = asyncManager, logger = logger, byteBufferAllocator = new ByteBufferPooledAllocator(), binder = DefaultBinder.GetBinder(_prefs.reflectBinding), }); _ready = true; } }
public static void Initialize(this ScriptRuntime runtime, IScriptRuntimeListener listener) { var logger = new DefaultLogger(); var fileResolver = new PathResolver(); var fileSystem = new DefaultFileSystem(logger); var asyncManager = new DefaultAsyncManager(); runtime.AddModuleResolvers(); runtime.Initialize(fileSystem, fileResolver, listener, asyncManager, logger, new ByteBufferPooledAllocator()); }