本文整理匯總了C#中Pathfinding.NavGraph.SafeOnDestroy方法的典型用法代碼示例。如果您正苦於以下問題:C# NavGraph.SafeOnDestroy方法的具體用法?C# NavGraph.SafeOnDestroy怎麽用?C# NavGraph.SafeOnDestroy使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Pathfinding.NavGraph
的用法示例。
在下文中一共展示了NavGraph.SafeOnDestroy方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: RemoveGraph
/** 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;
}
示例2: RemoveGraph
/** Removes the specified graph from the #graphs array and Destroys it in a safe manner */
public void RemoveGraph(NavGraph graph)
{
List<NavGraph> ls = new List<NavGraph> (graphs);
ls.Remove (graph);
graphs = ls.ToArray ();
//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 ();
}