static public void Process() { DelayedObjectManager pDelayMan = DelayedObjectManager.GetInstance(); CollisionObserver pNode = pDelayMan.head; while (pNode != null) { // Fire off listener pNode.Execute(); pNode = (CollisionObserver)pNode.pNext; } // remove pNode = pDelayMan.head; CollisionObserver pTmp = null; while (pNode != null) { pTmp = pNode; pNode = (CollisionObserver)pNode.pNext; // remove pDelayMan.Detach(pTmp, ref pDelayMan.head); } }
public static void Process() { DelayedGameObjectManager delayedGOMan = DelayedGameObjectManager.GetInstance(); CollisionObserver observer = delayedGOMan.collisionObservers; while (observer != null) { observer.Execute(); observer = (CollisionObserver)observer.pONext; } observer = delayedGOMan.collisionObservers; CollisionObserver obs = null; while (observer != null) { obs = observer; observer = (CollisionObserver)observer.pONext; delayedGOMan.Detach(obs, ref delayedGOMan.collisionObservers); } }