static void Main(string[] args) { var logger = new DefaultScriptLogger(); var pathResolver = new PathResolver(); var fileSystem = new DefaultFileSystem(logger); var asyncManager = new DefaultAsyncManager(); var runtime = ScriptEngine.CreateRuntime(); runtime.AddModuleResolvers(); runtime.Initialize(new ScriptRuntimeArgs { fileSystem = fileSystem, pathResolver = pathResolver, asyncManager = asyncManager, logger = logger, byteBufferAllocator = new ByteBufferPooledAllocator(), binder = BindingManager.UnitylessReflectBind, }); runtime.AddSearchPath("./"); runtime.AddSearchPath("./node_modules"); runtime.EvalMain("main"); while (runtime.isRunning) { runtime.Update(1); Thread.Sleep(1); } runtime.Shutdown(); }
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; } }