Pathfinding.NavGraph.OnDestroy C# (CSharp) Method

OnDestroy() public method

public OnDestroy ( ) : void
return void
		public virtual void OnDestroy () {
			//Destroy all nodes
			GetNodes(delegate(GraphNode node) {
				node.Destroy();
				return true;
			});
		}
		

Usage Example

Ejemplo n.º 1
0
        /** Removes the specified graph from the #graphs array and Destroys it in a safe manner.
         * To avoid changing graph indices for the other graphs, the graph is simply nulled in the array instead
         * of actually removing it from the array.
         * The empty position will be reused if a new graph is added.
         *
         * \returns True if the graph was sucessfully removed (i.e it did exist in the #graphs array). False otherwise.
         *
         *
         * \version Changed in 3.2.5 to call SafeOnDestroy before removing
         * and nulling it in the array instead of removing the element completely in the #graphs array.
         *
         */
        public bool RemoveGraph(NavGraph graph)
        {
            // Make sure all graph updates and other callbacks are done
            active.FlushWorkItems(false, true);

            // Make sure the pathfinding threads are stopped
            active.BlockUntilPathQueueBlocked();

            // //Safe OnDestroy is called since there is a risk that the pathfinding is searching through the graph right now,
            // //and if we don't wait until the search has completed we could end up with evil NullReferenceExceptions
            graph.OnDestroy();

            int i = System.Array.IndexOf(graphs, graph);

            if (i == -1)
            {
                return(false);
            }

            graphs[i] = null;

            UpdateShortcuts();

            return(true);
        }
All Usage Examples Of Pathfinding.NavGraph::OnDestroy