public CollisionPair() : base()
 {
     this.treeA             = null;
     this.treeB             = null;
     this.collisionPairName = CollisionPairName.UnInitialized;
     colSubject             = new CollisionSubject();
 }
        public void set(CollisionPair.CollisionPairName colPairName, GameObject rootA, GameObject rootB)
        {
            Debug.Assert(rootA != null);
            Debug.Assert(rootB != null);

            this.collisionPairName = colPairName;
            this.treeA             = rootA;
            this.treeB             = rootB;
        }
        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 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);
        }
        //public void wash()
        //{
        //    this.treeA = null;
        //    this.treeB = null;
        //    this.collisionPairName = CollisionPair.CollisionPairName.UnInitialized;
        //}

        public void setName(CollisionPairName colName)
        {
            this.collisionPairName = colName;
        }