Example #1
0
        public void Update()
        {
            if (mTaskManager == null)
            {
                // Give an error in this case.
                Debug.LogError("Called update on build processor after processor disposal");
                return;
            }

            for (int i = mControllers.Count - 1; i >= 0; i--)
            {
                BuildController controller = mControllers[i];
                NavmeshBuild    build      = controller.Build;
                NavmeshBuild    selected   = BuildSelector.Instance.Selected;

                if (!build ||
                    build.BuildType != NavmeshBuildType.Advanced ||
                    (build != selected && !controller.BuildIsActive))
                {
                    // Build component has been destroyed, is no longer advanced, or is
                    // inactive and not selected.  Get rid of it.
                    controller.Exit();
                    mControllers.RemoveAt(i);
                }
                else
                {
                    controller.Update();
                }
            }
        }
Example #2
0
        private void HandleOnSelect(NavmeshBuild build)
        {
            if (!build || Contains(build))
                return;

            BuildController controller = new BuildController(build, mTaskManager);

            if (controller.Enter())
                mControllers.Add(controller);
            else
                Debug.LogError("Failed to add controller for build: " + build);
        }