public override void CollidedWith(ISpriteLogic i_SpriteLogic) { if((Type == eSpriteType.Bullet && i_SpriteLogic.Type == eSpriteType.Monster) || (Type == eSpriteType.Bullet && i_SpriteLogic.Type == eSpriteType.Bomb)) { Alive = false; Score = i_SpriteLogic.Score; BulletHit(this, EventArgs.Empty); } if(i_SpriteLogic.Type == eSpriteType.Wall) { if(!m_InsideWall) { m_SavePos = Position; m_InsideWall = true; } else { m_NumberOfSteps -= Math.Abs(Position.Y - m_SavePos.Y); if(m_NumberOfSteps <= 0) { die(i_SpriteLogic); } } } }
public override void CollidedWith(ISpriteLogic i_SpriteLogic) { if(i_SpriteLogic.Type == eSpriteType.Bomb) { ViewFactory.PlayCue("LifeDie"); (View as ISprite).StartAnimation(); } }
public override void CollidedWith(ISpriteLogic i_SpriteLogic) { ISpriteLogic logic = i_SpriteLogic; if(logic.Type == eSpriteType.Bullet) { PlayKillCue(); m_TimeLeftToDie = r_DieDuration; m_Dying = true; } }
public override void CollidedWith(ISpriteLogic i_SpriteLogic) { if(i_SpriteLogic.Type == eSpriteType.Bullet || i_SpriteLogic.Type == eSpriteType.Bomb) { ViewFactory.PlayCue("BarrierHit"); } Color[] pixels = (View as ICollidable2D).GetPixelArray(); Rectangle e = i_SpriteLogic.Bounds; clearPixelsOn(pixels, new Rectangle(e.Top - Bounds.Top, e.Left - Bounds.Left, e.Width, e.Height)); (View as ISprite).Pixels = pixels; }
public override void CollidedWith(ISpriteLogic i_SpriteLogic) { ViewFactory.PlayCue("MotherShipKill"); i_SpriteLogic.Score = Score; (View as ISprite).StartAnimation(); }
private void die(ISpriteLogic i_SpriteLogic) { Alive = false; Score = i_SpriteLogic.Score; BulletHit(this, EventArgs.Empty); }
public virtual void CollidedWith(ISpriteLogic i_SpriteLogic) { }
public void setComponentLogic(ISpriteLogic i_Logic) { }