Exemple #1
0
        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();
            }
        }
Exemple #2
0
 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();
 }
Exemple #4
0
 /// <summary>
 /// 移除子节点
 /// </summary>
 public void RemoveChildren()
 {
     if (children == null)
     {
         return;
     }
     RecycleQuadNodesFromChildren(this, quadLinkedList);
     foreach (var quadTress in children)
     {
         quadTress.ReleaseToCache();
         MctCacheManager.AddInstantiateToCache(quadTress);
     }
     children = null;
 }