コード例 #1
0
ファイル: Program.cs プロジェクト: liuwjchinal/unity-jsb
        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();
        }
コード例 #2
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;
            }
        }