示例#1
0
        public ControlContext(NavmeshBuild build, BuildTaskProcessor manager)
        {
            if (!build || manager == null)
                throw new System.ArgumentNullException();

            mTaskProcessor = manager;

            mBuild = build;
            mSelection = new TileSelection(build);
        }
示例#2
0
        public BuildController(NavmeshBuild build, BuildTaskProcessor manager)
        {
            if (!build || manager == null)
                throw new System.ArgumentNullException();

            mContext = new ControlContext(build, manager);
            mDebugContext = new DebugViewContext(build, mContext.Selection);

            mInputCon = new InputCompileControl();
            mConfigCon = new NMGenConfigControl();
        }
示例#3
0
        public ControlContext(NavmeshBuild build, BuildTaskProcessor manager)
        {
            if (!build || manager == null)
            {
                throw new System.ArgumentNullException();
            }

            mTaskProcessor = manager;

            mBuild     = build;
            mSelection = new TileSelection(build);
        }
示例#4
0
        public BuildController(NavmeshBuild build, BuildTaskProcessor manager)
        {
            if (!build || manager == null)
            {
                throw new System.ArgumentNullException();
            }

            mContext      = new ControlContext(build, manager);
            mDebugContext = new DebugViewContext(build, mContext.Selection);

            mInputCon  = new InputCompileControl();
            mConfigCon = new NMGenConfigControl();
        }
示例#5
0
        public BuildProcessor()
        {
            mControllers = new List<BuildController>(3);

            mTaskManager = new BuildTaskProcessor(MaxConcurrency);
            Thread t = new Thread(new ThreadStart(mTaskManager.Run));
            t.Start();

            BuildSelector b = BuildSelector.Instance;

            b.OnSelect += HandleOnSelect;

            NavmeshBuild selected = b.Selected;
            if (selected)
                HandleOnSelect(selected);
        }
示例#6
0
        public void Dispose()
        {
            if (mTaskManager == null)
                return;

            foreach (BuildController controller in mControllers)
            {
                controller.Exit();
            }
            mControllers.Clear();

            mTaskManager.Abort();
            mTaskManager = null;

            BuildSelector.Instance.OnSelect -= HandleOnSelect;
        }