//---------------------------------------------------------------------------------- // Abstract Methods //---------------------------------------------------------------------------------- public override void Notify() { // Delete missile //Debug.WriteLine("RemoveBrickObserver: {0} {1}", this.pSubject.pObjA, this.pSubject.pObjB); this.pAlien = (AlienGO)this.pSubject.pObjB; Debug.Assert(this.pAlien != null); if (pAlien.bMarkForDeath == false) { //Award points int points = ((AlienGO)this.pAlien).GetPoints(); Debug.WriteLine(" +{0} points!", points); Score.IncreaseScore(points); Score.Refresh(); pAlien.bMarkForDeath = true; // Delay RemoveUFOObserver pObserver = new RemoveUFOObserver(this); DelayedObjectManager.Attach(pObserver); } else { pAlien.bMarkForDeath = true; } }
private RemoveUFOObserver(RemoveUFOObserver m) { Debug.Assert(m.pAlien != null); this.pAlien = m.pAlien; this.pEvent = new RemoveAlienEvent(); }
public RemoveUFOObserver(RemoveUFOObserver m) { Debug.Assert(m.pUFO != null); this.pUFO = m.pUFO; this.pSB_Aliens = SpriteBatchMan.Find(SpriteBatch.Name.Aliens); Debug.Assert(this.pSB_Aliens != null); this.pSB_Boxes = SpriteBatchMan.Find(SpriteBatch.Name.Boxes); Debug.Assert(this.pSB_Boxes != null); }
public override void notify() { this.pUFO = this.pSubject.pObjB; Debug.Assert(this.pUFO != null); if (pUFO.bMarkForDeath == false) { pUFO.bMarkForDeath = true; // Delay RemoveUFOObserver pObserver = new RemoveUFOObserver(this); DelayedObjectMan.Attach(pObserver); } }
public override void Notify() { this.pAlien = (OrangeSaucer)this.pSubject.pObjB; if (this.pAlien.bMarkForDeath == false) { this.pAlien.bMarkForDeath = true; // Delay - remove object later // TODO - reduce the new functions RemoveUFOObserver pObserver = new RemoveUFOObserver(this); DelayedObjectManager.Attach(pObserver); } }
public override void Notify() { // At this point we have two game objects // Actually we can control the objects in the visitor // Alphabetical ordering... A is missile, B is wall // This cast will throw an exception if I'm wrong this.pUFO = (UFO)this.pSubject.pObjB; if (pUFO.bMarkForDeath == false) { pUFO.bMarkForDeath = true; // Delay - remove object later // TODO - reduce the new functions RemoveUFOObserver pObserver = new RemoveUFOObserver(this); DelayedObjectMan.Attach(pObserver); } }
public override void Notify() { this.pUFO = (UFO)this.pSubject.pObjA; Debug.Assert(this.pUFO != null); if (pUFO.bMarkForDeath == false) { pUFO.bMarkForDeath = true; // Delay //AnimationSprite pAnimUFODies = new AnimationSprite(GameSprite.Name.UFO); //pAnimUFODies.Attach(Image.Name.UFODies); //pAnimUFODies.Attach(Image.Name.UFO); //TimerMan.Add(TimerEvent.Name.SquidAnimation, pAnimUFODies, 0.01f, false); RemoveUFOObserver pObserver = new RemoveUFOObserver(this); DelayedObjectMan.Attach(pObserver); } }
protected override void derivedUpdate(ColSubject pColSubject) { //Debug.WriteLine("RemoveInvaderObserver: {0} vs {1}", pColSubject.pObjA.name, pColSubject.pObjB.name); if (pColSubject.pObjA.name == GameObject.Name.UFO) { this.pInvader = (InvaderCategory)pColSubject.pObjA; } else if (pColSubject.pObjB.name == GameObject.Name.UFO) { this.pInvader = (InvaderCategory)pColSubject.pObjB; } else { Debug.Assert(false, "Neither Object is not a UFO!"); } Debug.Assert(this.pInvader != null); if (pInvader.bMarkForDeath == false) { pInvader.bMarkForDeath = true; if (pColSubject.pObjA.name == GameObject.Name.Missle || pColSubject.pObjB.name == GameObject.Name.Missle) { OneTimeAnimation pDeathAnimation = new OneTimeAnimation(Sprite.Name.InvaderDeath, this.pInvader.x, this.pInvader.y); pDeathAnimation.Attach(Image.Name.InvaderDeath2); pDeathAnimation.Attach(Image.Name.InvaderDeath1); TimerManager.Add(TimeEvent.Name.InvaderDeath, pDeathAnimation, 0.05f); } pHardwareSound.Stop(); // Delay - remove object later RemoveUFOObserver pObserver = new RemoveUFOObserver(this); DelayedObjectManager.Attach(pObserver); } }
public RemoveUFOObserver(RemoveUFOObserver u) { Debug.Assert(u != null); this.pUFO = u.pUFO; }
public RemoveUFOObserver(RemoveUFOObserver m) { Debug.Assert(m != null); }
public RemoveUFOObserver(RemoveUFOObserver b) { Debug.Assert(b != null); this.pUFO = b.pUFO; this.pGameObj = b.pGameObj; }
public RemoveUFOObserver(RemoveUFOObserver pRUObserver) { this.pInvader = pRUObserver.pInvader; }
public RemoveUFOObserver(RemoveUFOObserver b) { this.pUFO = b.pUFO; }
public RemoveUFOObserver(RemoveUFOObserver a) { Debug.Assert(a != null); this.pAlien = a.pAlien; }