Esempio n. 1
0
        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());
        }