Pathfinding.NavGraph.SafeOnDestroy C# (CSharp) Method

SafeOnDestroy() public method

public SafeOnDestroy ( ) : void
return void
		public void SafeOnDestroy () {
			AstarPath.RegisterSafeUpdate (OnDestroy,false);
		}
		

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.
         *
         * \see NavGraph.SafeOnDestroy
         *
         * \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)
        {
            //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.SafeOnDestroy();

            int i = 0;

            for (; i < graphs.Length; i++)
            {
                if (graphs[i] == graph)
                {
                    break;
                }
            }
            if (i == graphs.Length)
            {
                return(false);
            }

            graphs[i] = null;

            UpdateShortcuts();

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