private void createAwesomeBanner() { if (!isBannerOn) { isBannerOn = true; GameObj g = new GameObj(); g.SpriteName = "awesome"; g.UpdateSpriteReference(game.SprManager); g.UpdatePosition(0, 150); g.AddTransform(new LinearTransform(0, 150, game.Graphics.PreferredBackBufferWidth, 0)); g.TransformNotifier = delegate(GameObj o) { o.MarkForDelete = true; isBannerOn = false; }; base.addAfterInit(g); } }
private void addExplosion(bool afterEffect, Vector2 pos) { GameObj obj = new GameObj(); obj.SpriteName = "explosive"; FrameAnimator a = new FrameAnimator(200, 200); AnimationSequence bombing = new AnimationSequence("exploding", 0, 9); bombing.Mode = AnimationSequence.AnimationMode.STOP_AT_END; AnimationSequence bombing2 = new AnimationSequence("exploding2", 2, 9); a.AddAnimation(bombing); a.AddAnimation(bombing2); obj.Animator = a; obj.AnimationNotifier = explodeAnimationEnded; obj.Animator.CurrentAnimationName = afterEffect ? "exploding2" : "exploding"; obj.UpdateSpriteReference(game.SprManager); obj.UpdatePosition((int) pos.X - 100 + random.Next(150), (int) pos.Y - 100 + random.Next(150)); addAfterInit(obj); }