public override void Notify()
        {
            this.pUFO = (UFO)this.pSubject.pObjB;
            Debug.Assert(this.pUFO != null);

            if (pUFO.bMarkForDeath == false)
            {
                pUFO.bMarkForDeath = true;

                //this is to eliminate some of the checks that the UFORoot
                //does with the wall while it generates another UFO
                UFORoot pUFORoot = (UFORoot)GONodeMan.Find(GameObject.Name.UFORoot);
                Debug.Assert(pUFORoot != null);

                pUFORoot.x = -100;
                pUFORoot.y = -100;
                pUFORoot.SetDeltaMove(-1.0f);


                RemoveUFOobserver pObserver = new RemoveUFOobserver(this);
                DelayedObjectMan.Attach(pObserver);
            }
        }
 public RemoveUFOobserver(RemoveUFOobserver u)
 {
     Debug.Assert(u != null);
     this.pUFO = u.pUFO;
 }