public Bomb(GamePlayActivity level) : base("Bomb", new Vector2(16, 16)) { _level = level; Sprite.Animations.Add(new Animation("active", 0, 0, 1)); Sprite.ChangeAnimation("active"); }
public async static Task Explode(GamePlayActivity level, BaseEntity obj, bool removeEntity = true, uint duration = 1000) { var explosion = new Explosion { CollidesWithMap = false }; explosion.Position = new Vector2(obj.Position.X - (explosion.Size.X - obj.Size.X) / 2, obj.Position.Y - (explosion.Size.Y - obj.Size.Y)); level.AddEntity(explosion); if (removeEntity) { level.RemoveEntity(obj); } await Task.Delay((int)duration); level.RemoveEntity(explosion); }