public static CollisionPair getCurrentColPair()
        {
            CollisionPairManager collisionManInst = CollisionPairManager.getSingletonInstance();

            Debug.Assert(collisionMInstance != null);
            return(collisionManInst.currentCollisionP);
        }
        public static void printList()
        {
            CollisionPairManager collisionManInst = CollisionPairManager.getSingletonInstance();

            Debug.Assert(collisionMInstance != null);
            Debug.WriteLine("");
            Debug.WriteLine("------ Active List Collision Pair Man: ---------------------------\n");

            MLink pNode = collisionManInst.activeList;

            int i = 0;

            while (pNode != null)
            {
                Debug.WriteLine("{0}: -------------", i);
                pNode.print();
                i++;
                pNode = pNode.pNext;
            }

            Debug.WriteLine("");
            Debug.WriteLine("------ Reserve List Collision Pair Man: ---------------------------\n");

            pNode = collisionManInst.reserveList;
            i     = 0;
            while (pNode != null)
            {
                Debug.WriteLine("{0}: -------------", i);
                pNode.print();
                i++;
                pNode = pNode.pNext;
            }
        }
        public static void remove(CollisionPair targetNode)
        {
            CollisionPairManager collisionManInst = CollisionPairManager.getSingletonInstance();

            Debug.Assert(collisionMInstance != null);
            Debug.Assert(targetNode != null);
            collisionManInst.genericRemove(targetNode);
        }
        public static CollisionPair add(CollisionPair.CollisionPairName colPairName, GameObject rootA, GameObject rootB)
        {
            CollisionPairManager collisionManInst = CollisionPairManager.getSingletonInstance();

            Debug.Assert(collisionMInstance != null);
            CollisionPair nodeAdded = (CollisionPair)collisionManInst.genericAdd();

            Debug.Assert(nodeAdded != null);
            //set the attributes of the Image node

            nodeAdded.set(colPairName, rootA, rootB);

            return(nodeAdded);
        }
        public static void process()
        {
            CollisionPair mColPair = (CollisionPair)collisionMInstance.activeList;

            while (mColPair != null)
            {
                // Process each collision pair
                CollisionPairManager collisionManInst = CollisionPairManager.getSingletonInstance();
                Debug.Assert(collisionMInstance != null);
                collisionManInst.currentCollisionP = mColPair;
                mColPair.processCollision();
                mColPair = (CollisionPair)mColPair.pNext;
            }
        }
        public static CollisionPair find(CollisionPair.CollisionPairName colPairName)
        {
            CollisionPairManager collisionManInst = CollisionPairManager.getSingletonInstance();

            Debug.Assert(collisionMInstance != null);

            CollisionPair pseudoPair = defCollisionPair;

            Debug.Assert(pseudoPair != null);

            pseudoPair.setName(colPairName);

            CollisionPair targetPair = (CollisionPair)collisionManInst.genericFind(pseudoPair);

            return(targetPair);
        }