public virtual void OnCheckPosition(DynamicMapObject sender) { var positionArgs = new PositionChangedArgs(new Rectangle(sender.position.X + sender.dx, sender.position.Y + sender.dy, sender.Width, sender.Height)); if (positionArgs == null) { return; } if (CollidesWith(positionArgs.NewRectangle)) { if ((!((MapObject)sender).toDelete) && (!this.toDelete)) { if ((sender is Bullet) && (this is Wall)) { ((Bullet)sender).Die(); } else { ((DynamicMapObject)sender).Deviate(); } } } }
public override void OnCheckPosition(DynamicMapObject sender) { var positionArgs = new PositionChangedArgs(new Rectangle(sender.position.X + sender.dx, sender.position.Y + sender.dy, sender.Width, sender.Height)); if (positionArgs == null) { return; } if (CollidesWith(positionArgs.NewRectangle)) { if ((!((MapObject)sender).toDelete) && (!this.toDelete)) { if ((sender is Kolobok) && (this.entity is Tank)) { this.Die(); ((Kolobok)sender).Die(); } else if ((sender is Tank) && (this.entity is Kolobok)) { this.Die(); ((Tank)sender).Die(); } } } }
public override void OnCheckPosition(DynamicMapObject sender) { var positionArgs = new PositionChangedArgs(new Rectangle(sender.position.X + sender.dx, sender.position.Y + sender.dy, sender.Width, sender.Height)); if (positionArgs == null) { return; } if (CollidesWith(positionArgs.NewRectangle)) { if ((!((MapObject)sender).toDelete) && (!this.toDelete)) { if (sender is Kolobok) { Replace(); Game.Score += 1; } } } }