Beispiel #1
0
 public Bomb(GamePlayActivity level)
     : base("Bomb", new Vector2(16, 16))
 {
     _level = level;
     Sprite.Animations.Add(new Animation("active", 0, 0, 1));
     Sprite.ChangeAnimation("active");
 }
Beispiel #2
0
        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);
        }