Ejemplo n.º 1
0
        static public void RemoveAll()
        {
            DelayRemoveManager pMan  = DelayRemoveManager.PrivGetInstance();
            CollisionObservers pNode = pMan.head;
            CollisionObservers pTmp  = null;

            while (pNode != null)
            {
                pTmp  = pNode;
                pNode = (CollisionObservers)pNode.pNext;
                pMan.PrivDetach(pTmp, ref pMan.head);
            }
        }
Ejemplo n.º 2
0
        static public void Attach(CollisionObservers pObs)
        {
            Debug.Assert(pObs != null);

            DelayRemoveManager pMan = DelayRemoveManager.PrivGetInstance();

            if (pMan.head == null)
            {
                pMan.head  = pObs;
                pObs.pNext = null;
                pObs.pPrev = null;
            }
            else
            {
                pObs.pNext      = pMan.head;
                pObs.pPrev      = null;
                pMan.head.pPrev = pObs;
                pMan.head       = pObs;
            }
        }