public void ResetRuntime() { //将树节点加入缓存 if (children != null) { MctCacheManager.AddInstantiateToCache(children[0]); MctCacheManager.AddInstantiateToCache(children[1]); MctCacheManager.AddInstantiateToCache(children[2]); MctCacheManager.AddInstantiateToCache(children[3]); children = null; } //将节点加入缓存 if (quadLinkedList.Count > 0) { foreach (PFIQuadNode quadNode in quadLinkedList) { switch (quadNode.shape) { case (PFQuadShape.Circle): MctCacheManager.AddInstantiateToCache(quadNode); break; } } quadLinkedList.Clear(); } }
public void ResetRuntime() { algorithm.ResetRuntime(); foreach (LinkedList <PFAStarNode> nodeLinedList in aStarNodeDictionary.Values) { foreach (PFAStarNode aStarPoint in nodeLinedList) { MctCacheManager.AddInstantiateToCache(aStarPoint); } nodeLinedList.Clear(); } }
public void ClearOpenAndCloseList() { foreach (var starPoint in openLinkedList) { MctCacheManager.AddInstantiateToCache(starPoint); } openLinkedList.Clear(); foreach (var starPoint in closeLinkedList) { MctCacheManager.AddInstantiateToCache(starPoint); } closeLinkedList.Clear(); }
/// <summary> /// 移除子节点 /// </summary> public void RemoveChildren() { if (children == null) { return; } RecycleQuadNodesFromChildren(this, quadLinkedList); foreach (var quadTress in children) { quadTress.ReleaseToCache(); MctCacheManager.AddInstantiateToCache(quadTress); } children = null; }