Inheritance: Vtj.Gaming.Scene
Ejemplo n.º 1
0
        public override void Update()
        {
            ShooterLevel level = ShooterLevel.Current;

            Location.X -= level.BaseSpeed * level.DeltaTime;

            if (!(Visible = Intersect(0, 0, 800, 600)))
            {
                if (Location.X < 0)
                {
                    Gone = true;
                }
                return;
            }

            if (Motion != null)
            {
                Motion.Update(this, level.DeltaTime);
            }

            base.Update();

            if (!Started && Dead)
            {
                Gone = true;
            }
        }
Ejemplo n.º 2
0
        public override void Init(Scene level)
        {
            _plasmaBalls = new List<PlasmaBall>();
            _level = (ShooterLevel)level;

            BasicPlasmaBall.PreloadImages();
        }
Ejemplo n.º 3
0
        public override void Init(Scene level)
        {
            _plasmaBalls = new List <PlasmaBall>();
            _level       = (ShooterLevel)level;

            BasicPlasmaBall.PreloadImages();
        }
Ejemplo n.º 4
0
        public BigSaucer(IMotion motion)
            : base(motion)
        {
            ShooterLevel      level    = ShooterLevel.Current;
            AnimationSequence sequence = new AnimationSequence();

            sequence.AddSprites(new ImageElement[] {
                level.LoadImage("images/shooter/saucer/0001.png", false),
                level.LoadImage("images/shooter/saucer/0001.2.png", false),
                level.LoadImage("images/shooter/saucer/0001.png", false),
                level.LoadImage("images/shooter/saucer/0001.3.png", false)
            }, 73, 32);
            sequence.Delay = 300;
            sequence.Loop  = true;
            AnimationSequences[DefaultAnimation] = sequence;

            sequence = new AnimationSequence();
            sequence.AddSprites(new ImageElement[] {
                level.LoadImage("images/shooter/saucer/0003.png", false),
                level.LoadImage("images/shooter/saucer/0004.png", false),
                level.LoadImage("images/shooter/saucer/0005.png", false),
                level.LoadImage("images/shooter/saucer/0006.png", false),
                level.LoadImage("images/shooter/saucer/0007.png", false),
                level.LoadImage("images/shooter/saucer/0008.png", false),
                level.LoadImage("images/shooter/saucer/0009.png", false),
                level.LoadImage("images/shooter/saucer/0010.png", false)
            }, 150, 62);
            sequence.Delay = 50;
            sequence.Loop  = false;
            AnimationSequences[ExplosionAnimation] = sequence;

            StartAnimation(DefaultAnimation);

            Life = 16;
        }
Ejemplo n.º 5
0
        public override void Update()
        {
            if (!Hit)
            {
                foreach (GameObject building in ShooterLevel.Current.Buildings.VisibleBuildings)
                {
                    if (!Collides(building))
                    {
                        continue;
                    }
                    Hit = true;
                    return;
                }

                foreach (Dino dino in ShooterLevel.Current.Dinos.VisibleDinos)
                {
                    if (dino.Dead || !Collides(dino))
                    {
                        continue;
                    }
                    dino.Hit(Strength);
                    Hit = true;
                    return;
                }
            }

            ShooterLevel level = ShooterLevel.Current;

            Location.X -= level.DeltaTime * level.BaseSpeed;
            Motion.Update(this, level.DeltaTime);

            base.Update();
        }
Ejemplo n.º 6
0
        public override void Update()
        {
            ShooterLevel level = ShooterLevel.Current;

            if (!Hit)
            {
                foreach (GameObject building in ShooterLevel.Current.Buildings.VisibleBuildings)
                {
                    if (!Collides(building))
                    {
                        continue;
                    }
                    Hit = true;
                    return;
                }

                if (level.Status == ShooterStatus.Running && Collides(level.Meteor.Ship))
                {
                    level.Crash();
                    Hit = true;
                    return;
                }
            }

            Location.X -= level.DeltaTime * level.BaseSpeed;
            Motion.Update(this, level.DeltaTime);

            base.Update();
        }
Ejemplo n.º 7
0
        public Boss(IMotion motion, BossGun topGun, BossGun middleGun, BossGun bottomGun)
            : base(motion)
        {
            ShooterLevel      level    = ShooterLevel.Current;
            AnimationSequence sequence = new AnimationSequence();

            sequence.AddSprites(new ImageElement[] {
                level.LoadImage("images/shooter/boss/boss.png", false)
            }, 0, 133);
            sequence.Delay = 200;
            sequence.Loop  = true;
            AnimationSequences[DefaultAnimation] = sequence;

            _topGun    = topGun;
            _middleGun = middleGun;
            _bottomGun = bottomGun;

            sequence = new AnimationSequence();
            sequence.AddSprites(new ImageElement[] {
                level.LoadImage("images/shooter/boss/boss.png", false)
            }, 0, 133);
            sequence.Delay = 500;
            sequence.Loop  = true;
            AnimationSequences[ExplosionAnimation] = sequence;

            StartAnimation(DefaultAnimation);

            Life = 300;
        }
Ejemplo n.º 8
0
        public override void Update()
        {
            base.Update();

            if (Dead || !Visible)
            {
                return;
            }

            ShooterLevel level = ShooterLevel.Current;

            // Calculating the angle fire with a gross prediction on the ship's future position
            float distance = Math.Abs(Location.X - level.Meteor.Ship.Location.X) + Math.Abs(Location.Y - level.Meteor.Ship.Location.Y);

            _angle = Math.Abs(level.Meteor.Ship.Location.Clone().TranslateByCoordinates(distance / 5, 0).SetOrigin(Location).GetAbsoluteAngle());

            // And setting the frame accordingly
            CurrentFrame = 8 - Math.Floor(_angle * 9 / Math.PI);

            if (level.Ticks >= _lastShot + FireRate)
            {
                _lastShot = level.Ticks;
                new BasicPlasmaBall(Location.Clone().TranslateByVector(_gunPositions[CurrentFrame]).TranslateByCoordinates(-52, -73),
                                    new StraightMotion(new Vector2D(Math.Cos(_angle) / 10, -Math.Sin(_angle) / 10)));
            }
        }
Ejemplo n.º 9
0
        public override void Init(Scene level)
        {
            _level = (ShooterLevel)level;

            _images = new List<ImageElement>();
            for (int i = 1; i < 6; i++)
                _images.Add(level.LoadImage("images/shooter/buildings/" + i + ".png", true));
        }
Ejemplo n.º 10
0
 public override void Dispose()
 {
     base.Dispose();
     _backgroundImage = null;
     _music.Pause();
     _music  = null;
     Current = null;
 }
Ejemplo n.º 11
0
 public override void Init(Scene level)
 {
     _dinos = new List <Dino>();
     _level = (ShooterLevel)level;
     BigSaucer.PreloadImages();
     Pteranodon.PreloadImages();
     Gun.PreloadImages();
     Boss.PreloadImages();
     BossGun.PreloadImages();
 }
Ejemplo n.º 12
0
        public override void Update()
        {
            ShooterLevel level = ShooterLevel.Current;

            Location.X -= level.BaseSpeed * level.DeltaTime;

            _motion.Update(this, level.DeltaTime);

            base.Update();
        }
Ejemplo n.º 13
0
        public override void Init(Scene level)
        {
            _level = (ShooterLevel)level;

            _images = new List <ImageElement>();
            for (int i = 1; i < 6; i++)
            {
                _images.Add(level.LoadImage("images/shooter/buildings/" + i + ".png", true));
            }
        }
Ejemplo n.º 14
0
 public override void Init(Scene level)
 {
     _dinos = new List<Dino>();
     _level = (ShooterLevel)level;
     BigSaucer.PreloadImages();
     Pteranodon.PreloadImages();
     Gun.PreloadImages();
     Boss.PreloadImages();
     BossGun.PreloadImages();
 }
Ejemplo n.º 15
0
        private void LoadAnimation(string number, string name)
        {
            ShooterLevel      level    = ShooterLevel.Current;
            AnimationSequence sequence = new AnimationSequence();

            sequence.AddSprites(new ImageElement[] {
                level.LoadImage("images/shooter/missile/" + number + "00.png", false),
                level.LoadImage("images/shooter/missile/" + number + "01.png", false),
                level.LoadImage("images/shooter/missile/" + number + "02.png", false)
            }, 30, 30);
            AnimationSequences[name] = sequence;
        }
Ejemplo n.º 16
0
        public Missile(Vector2D location)
            : base(location, new SeekMotion(null, 12, new Vector2D(12, 0), 0.25f))
        {
            WeaponsSystem.TotalMissiles++;

            LoadAnimation("00", "8");
            LoadAnimation("01", "9");
            LoadAnimation("02", "10");
            LoadAnimation("03", "11");
            LoadAnimation("04", "12");
            LoadAnimation("05", "13");
            LoadAnimation("06", "14");
            LoadAnimation("07", "15");
            LoadAnimation("08", "0");
            LoadAnimation("09", "1");
            LoadAnimation("10", "2");
            LoadAnimation("11", "3");
            LoadAnimation("12", "4");
            LoadAnimation("13", "5");
            LoadAnimation("14", "6");
            LoadAnimation("15", "7");

            StartAnimation("0");

            ShooterLevel      level    = ShooterLevel.Current;
            AnimationSequence sequence = new AnimationSequence();

            sequence.AddSprites(new ImageElement[] {
                level.LoadImage("images/shooter/explosion/0002.png", false),
                level.LoadImage("images/shooter/explosion/0003.png", false),
                level.LoadImage("images/shooter/explosion/0004.png", false),
                level.LoadImage("images/shooter/explosion/0005.png", false),
                level.LoadImage("images/shooter/explosion/0006.png", false),
                level.LoadImage("images/shooter/explosion/0007.png", false),
                level.LoadImage("images/shooter/explosion/0008.png", false),
                level.LoadImage("images/shooter/explosion/0009.png", false)
            }, 25, 25);
            sequence.Delay = 50;
            sequence.Loop  = false;
            AnimationSequences["Explosion"] = sequence;

            Dino dino = AcquireTarget();

            if (dino != null)
            {
                dino.Locked = true;
            }
            ((SeekMotion)Motion).Target = AcquireTarget();
        }
Ejemplo n.º 17
0
        public override void Init(Scene level)
        {
            _level = (ShooterLevel)level;

            for (int i = 0; i < CloudCount; i++)
            {
                CloudRow row = (CloudRow) new object();

                row.Image         = _level.LoadImage("images/shooter/cloud" + (i + 1) + ".png", false);
                row.OffsetX       = 0;
                row.RelativeSpeed = 1.2f - (i / 10);
                row.Objects       = new List <GameObject>();
                _rows[i]          = row;
            }
        }
Ejemplo n.º 18
0
        public override void Update()
        {
            base.Update();

            ShooterLevel level = ShooterLevel.Current;

            if (!Dead && level.Ticks >= _lastShot + FireRate)
            {
                _lastShot = level.Ticks;

                new BasicPlasmaBall(Location, new StraightMotion(new Vector2D(-0.1f, 0)));
                new BasicPlasmaBall(Location, new StraightMotion(new Vector2D(-0.083f, -0.05f)));
                new BasicPlasmaBall(Location, new StraightMotion(new Vector2D(-0.083f, 0.05f)));
            }
        }
Ejemplo n.º 19
0
        public override void Init(Scene level)
        {
            TotalMissiles = 0;
            ShotCount     = 1;
            MissileCount  = 0;
            ShotPower     = 1;

            Bullet.PreloadImages();
            Missile.PreloadImages();
            Bullet.LastFired  = 0;
            Missile.LastFired = 0;

            _projectiles = new List <Projectile>();
            _level       = (ShooterLevel)level;
        }
Ejemplo n.º 20
0
        public override void Init(Scene level)
        {
            TotalMissiles = 0;
            ShotCount = 1;
            MissileCount = 0;
            ShotPower = 1;

            Bullet.PreloadImages();
            Missile.PreloadImages();
            Bullet.LastFired = 0;
            Missile.LastFired = 0;

            _projectiles = new List<Projectile>();
            _level = (ShooterLevel)level;
        }
Ejemplo n.º 21
0
        public BasicPlasmaBall(Vector2D location, IMotion motion) : base(location, motion)
        {
            ShooterLevel      level    = ShooterLevel.Current;
            AnimationSequence sequence = new AnimationSequence();

            sequence.AddSprites(new ImageElement[] {
                level.LoadImage("images/shooter/plasma/1.png", false),
                level.LoadImage("images/shooter/plasma/2.png", false),
                level.LoadImage("images/shooter/plasma/3.png", false),
                level.LoadImage("images/shooter/plasma/2.png", false)
            }, 6, 6);
            sequence.Loop  = true;
            sequence.Delay = 200;
            AnimationSequences["Default"] = sequence;
            StartAnimation("Default");
        }
Ejemplo n.º 22
0
        public static void PreloadImages()
        {
            ShooterLevel level = ShooterLevel.Current;

            level.LoadImage("images/shooter/saucer/0001.png", true);
            level.LoadImage("images/shooter/saucer/0001.2.png", true);
            level.LoadImage("images/shooter/saucer/0001.3.png", true);
            level.LoadImage("images/shooter/saucer/0003.png", false);
            level.LoadImage("images/shooter/saucer/0004.png", false);
            level.LoadImage("images/shooter/saucer/0005.png", false);
            level.LoadImage("images/shooter/saucer/0006.png", false);
            level.LoadImage("images/shooter/saucer/0007.png", false);
            level.LoadImage("images/shooter/saucer/0008.png", false);
            level.LoadImage("images/shooter/saucer/0009.png", false);
            level.LoadImage("images/shooter/saucer/0010.png", false);
        }
Ejemplo n.º 23
0
        public static void PreloadImages()
        {
            ShooterLevel level = ShooterLevel.Current;

            level.LoadImage("images/shooter/boss/gun1.png", true);
            level.LoadImage("images/shooter/boss/gun2.png", true);
            level.LoadImage("images/shooter/boss/gun3.png", true);
            level.LoadImage("images/shooter/boss/0001.png", false);
            level.LoadImage("images/shooter/boss/0002.png", false);
            level.LoadImage("images/shooter/boss/0003.png", false);
            level.LoadImage("images/shooter/boss/0004.png", false);
            level.LoadImage("images/shooter/boss/0005.png", false);
            level.LoadImage("images/shooter/boss/0006.png", false);
            level.LoadImage("images/shooter/boss/0007.png", false);
            level.LoadImage("images/shooter/boss/0008.png", false);
            level.LoadImage("images/shooter/boss/0009.png", false);
        }
Ejemplo n.º 24
0
        public Pteranodon(IMotion motion)
            : base(motion)
        {
            ShooterLevel      level    = ShooterLevel.Current;
            AnimationSequence sequence = new AnimationSequence();

            sequence.AddSprites(new ImageElement[] {
                level.LoadImage("images/shooter/ptera/0001.png", false),
                level.LoadImage("images/shooter/ptera/0002.5.png", false),
                level.LoadImage("images/shooter/ptera/0002.png", false),
                level.LoadImage("images/shooter/ptera/0002.5.png", false),
                level.LoadImage("images/shooter/ptera/0001.png", false),
                level.LoadImage("images/shooter/ptera/0003.5.png", false),
                level.LoadImage("images/shooter/ptera/0003.png", false),
                level.LoadImage("images/shooter/ptera/0003.5.png", false)
            }, 0, 0);
            sequence.Delay = 200;
            sequence.Loop  = true;
            AnimationSequences[DefaultAnimation] = sequence;

            sequence = new AnimationSequence();
            sequence.AddSprites(new ImageElement[] {
                level.LoadImage("images/shooter/ptera/0005.png", false),
                level.LoadImage("images/shooter/ptera/0006.png", false),
                level.LoadImage("images/shooter/ptera/0007.png", false),
                level.LoadImage("images/shooter/ptera/0008.png", false),
                level.LoadImage("images/shooter/ptera/0009.png", false),
                level.LoadImage("images/shooter/ptera/0010.png", false),
                level.LoadImage("images/shooter/ptera/0011.png", false),
                level.LoadImage("images/shooter/ptera/0012.png", false),
                level.LoadImage("images/shooter/ptera/0013.png", false),
                level.LoadImage("images/shooter/ptera/0014.png", false),
                level.LoadImage("images/shooter/ptera/0015.png", false)
            }, 0, 0);
            sequence.Delay = 50;
            sequence.Loop  = false;
            AnimationSequences[ExplosionAnimation] = sequence;

            StartAnimation(DefaultAnimation);

            Life = 4;
        }
Ejemplo n.º 25
0
        protected override void Init()
        {
#if DEBUG
            if (Current != null)
            {
                throw Exception.Create("Cannot have more than one ShooterLevel running at the same time!", null);
            }
#endif
            pendingTimers = new List <int>();

            if (jQuery.Browser.Mozilla)
            {
                _music = LoadAudio("Audio/boss.ogg");
            }
            else
            {
                _music = LoadAudio("Audio/boss.mp3");
            }

            Current          = this;
            Status           = ShooterStatus.Starting;
            BaseSpeed        = 0.05f;
            _backgroundImage = LoadImage("Images/shooter/bg.png", false);
            AddSystem(new CloudSystem());
            AddSystem(Meteor    = new MeteorSystem());
            AddSystem(Buildings = new BuildingSystem(700, _length, 3));
            AddSystem(Dinos     = new DinosSystem(_length));
            AddSystem(_weapons  = new WeaponsSystem());
            AddSystem(Plasma    = new PlasmaSystem());
            AddSystem(Bonus     = new BonusSystem());

            ShowMessage(_startMessage);
            Window.SetTimeout(delegate()
            {
                HideMessage();
                Status = ShooterStatus.Running;
                _music.Play();

                _music.AddEventListener("ended", delegate(ElementEvent e) { _music.Play(); }, false);
            }, 3000);
        }
Ejemplo n.º 26
0
        public static void PreloadImages()
        {
            ShooterLevel level = ShooterLevel.Current;

            level.LoadImage("images/shooter/ptera/0003.5.png", true);
            level.LoadImage("images/shooter/ptera/0002.5.png", true);
            level.LoadImage("images/shooter/ptera/0001.png", true);
            level.LoadImage("images/shooter/ptera/0002.png", true);
            level.LoadImage("images/shooter/ptera/0003.png", true);
            level.LoadImage("images/shooter/ptera/0005.png", false);
            level.LoadImage("images/shooter/ptera/0006.png", false);
            level.LoadImage("images/shooter/ptera/0007.png", false);
            level.LoadImage("images/shooter/ptera/0008.png", false);
            level.LoadImage("images/shooter/ptera/0009.png", false);
            level.LoadImage("images/shooter/ptera/0010.png", false);
            level.LoadImage("images/shooter/ptera/0011.png", false);
            level.LoadImage("images/shooter/ptera/0012.png", false);
            level.LoadImage("images/shooter/ptera/0013.png", false);
            level.LoadImage("images/shooter/ptera/0014.png", false);
            level.LoadImage("images/shooter/ptera/0015.png", false);
        }
Ejemplo n.º 27
0
        public BossGun(IMotion motion)
            : base(motion)
        {
            ShooterLevel      level    = ShooterLevel.Current;
            AnimationSequence sequence = new AnimationSequence();

            sequence.AddSprite(level.LoadImage("images/shooter/boss/gun1.png", false), 79, 45);
            sequence.Delay = 0;
            AnimationSequences[DefaultAnimation] = sequence;

            sequence = new AnimationSequence();
            sequence.AddSprite(level.LoadImage("images/shooter/boss/gun2.png", false), 79, 1);
            sequence.Delay             = 0;
            AnimationSequences["Gun2"] = sequence;

            sequence = new AnimationSequence();
            sequence.AddSprite(level.LoadImage("images/shooter/boss/gun3.png", false), 100, 21);
            sequence.Delay             = 0;
            AnimationSequences["Gun3"] = sequence;

            sequence = new AnimationSequence();
            sequence.AddSprites(new ImageElement[] {
                level.LoadImage("images/shooter/boss/0001.png", false),
                level.LoadImage("images/shooter/boss/0002.png", false),
                level.LoadImage("images/shooter/boss/0003.png", false),
                level.LoadImage("images/shooter/boss/0004.png", false),
                level.LoadImage("images/shooter/boss/0005.png", false),
                level.LoadImage("images/shooter/boss/0006.png", false),
                level.LoadImage("images/shooter/boss/0007.png", false),
                level.LoadImage("images/shooter/boss/0008.png", false),
                level.LoadImage("images/shooter/boss/0009.png", false),
            }, 50, 50);
            sequence.Delay = 50;
            sequence.Loop  = false;
            AnimationSequences[ExplosionAnimation] = sequence;

            StartAnimation(DefaultAnimation);

            Life = 150;
        }
Ejemplo n.º 28
0
        public Gun(IMotion motion)
            : base(motion)
        {
            ShooterLevel      level    = ShooterLevel.Current;
            AnimationSequence sequence = new AnimationSequence();

            sequence.AddSprites(new ImageElement[] {
                level.LoadImage("images/shooter/gun/0000.png", false),
                level.LoadImage("images/shooter/gun/0001.png", false),
                level.LoadImage("images/shooter/gun/0002.png", false),
                level.LoadImage("images/shooter/gun/0003.png", false),
                level.LoadImage("images/shooter/gun/0004.png", false),
                level.LoadImage("images/shooter/gun/0005.png", false),
                level.LoadImage("images/shooter/gun/0006.png", false),
                level.LoadImage("images/shooter/gun/0007.png", false),
                level.LoadImage("images/shooter/gun/0008.png", false)
            }, 52, 73);
            sequence.Delay = 0;
            AnimationSequences[DefaultAnimation] = sequence;

            sequence = new AnimationSequence();
            sequence.AddSprites(new ImageElement[] {
                level.LoadImage("images/shooter/gun/e0003.png", false),
                level.LoadImage("images/shooter/gun/e0004.png", false),
                level.LoadImage("images/shooter/gun/e0005.png", false),
                level.LoadImage("images/shooter/gun/e0006.png", false),
                level.LoadImage("images/shooter/gun/e0007.png", false),
                level.LoadImage("images/shooter/gun/e0008.png", false),
                level.LoadImage("images/shooter/gun/e0009.png", false),
                level.LoadImage("images/shooter/gun/e0010.png", false)
            }, 60, 73);
            sequence.Delay = 50;
            sequence.Loop  = false;
            AnimationSequences[ExplosionAnimation] = sequence;

            StartAnimation(DefaultAnimation);

            Life = 8;
        }
Ejemplo n.º 29
0
        public override void Init(Scene level)
        {
            _level = (ShooterLevel)level;
            Ship   = new GameObject();

            AnimationSequence sequence = new AnimationSequence();

            sequence.Delay = 200;
            sequence.AddSprite(_level.LoadImage("Images/shooter/meteor/2.png", true), 0, 0);
            Ship.AnimationSequences["Default"] = sequence;

            sequence       = new AnimationSequence();
            sequence.Delay = 200;
            sequence.AddSprite(_level.LoadImage("Images/shooter/meteor/3.png", true), 0, 0);
            Ship.AnimationSequences["Up"] = sequence;

            sequence       = new AnimationSequence();
            sequence.Delay = 200;
            sequence.AddSprite(_level.LoadImage("Images/shooter/meteor/1.png", true), 0, 0);
            Ship.AnimationSequences["Down"] = sequence;

            sequence       = new AnimationSequence();
            sequence.Delay = 40;
            sequence.Loop  = false;
            sequence.AddSprites(new ImageElement[] {
                _level.LoadImage("Images/shooter/meteor/e1.png", false),
                _level.LoadImage("Images/shooter/meteor/e5.png", false),
                _level.LoadImage("Images/shooter/meteor/e9.png", false),
                _level.LoadImage("Images/shooter/meteor/e13.png", false),
                _level.LoadImage("Images/shooter/meteor/e17.png", false)
            }, 0, 0);
            Ship.AnimationSequences["Crash"] = sequence;
            Ship.AnimationCompleted         += new AnimationCompletedEventHandler(Ship_AnimationCompleted);

            _speed = 0.15f;

            Ship.Location = new Vector3D(20, 390, ShooterLevel.MeteorZ);
            Ship.StartAnimation("Default");
        }
Ejemplo n.º 30
0
        public override void Init(Scene level)
        {
            _level = (ShooterLevel)level;
            Ship = new GameObject();

            AnimationSequence sequence = new AnimationSequence();
            sequence.Delay = 200;
            sequence.AddSprite(_level.LoadImage("Images/shooter/meteor/2.png", true), 0, 0);
            Ship.AnimationSequences["Default"] = sequence;

            sequence = new AnimationSequence();
            sequence.Delay = 200;
            sequence.AddSprite(_level.LoadImage("Images/shooter/meteor/3.png", true), 0, 0);
            Ship.AnimationSequences["Up"] = sequence;

            sequence = new AnimationSequence();
            sequence.Delay = 200;
            sequence.AddSprite(_level.LoadImage("Images/shooter/meteor/1.png", true), 0, 0);
            Ship.AnimationSequences["Down"] = sequence;

            sequence = new AnimationSequence();
            sequence.Delay = 40;
            sequence.Loop = false;
            sequence.AddSprites(new ImageElement[] {
                    _level.LoadImage("Images/shooter/meteor/e1.png", false),
                    _level.LoadImage("Images/shooter/meteor/e5.png", false),
                    _level.LoadImage("Images/shooter/meteor/e9.png", false),
                    _level.LoadImage("Images/shooter/meteor/e13.png", false),
                    _level.LoadImage("Images/shooter/meteor/e17.png", false)
                }, 0, 0);
            Ship.AnimationSequences["Crash"] = sequence;
            Ship.AnimationCompleted += new AnimationCompletedEventHandler(Ship_AnimationCompleted);

            _speed = 0.15f;

            Ship.Location = new Vector3D(20, 390, ShooterLevel.MeteorZ);
            Ship.StartAnimation("Default");
        }
Ejemplo n.º 31
0
        public Explosion()
            : base()
        {
            ShooterLevel      level    = ShooterLevel.Current;
            AnimationSequence sequence = new AnimationSequence();

            sequence.AddSprites(new ImageElement[] {
                level.LoadImage("images/shooter/boss/0001.png", false),
                level.LoadImage("images/shooter/boss/0002.png", false),
                level.LoadImage("images/shooter/boss/0003.png", false),
                level.LoadImage("images/shooter/boss/0004.png", false),
                level.LoadImage("images/shooter/boss/0005.png", false),
                level.LoadImage("images/shooter/boss/0006.png", false),
                level.LoadImage("images/shooter/boss/0007.png", false),
                level.LoadImage("images/shooter/boss/0008.png", false),
                level.LoadImage("images/shooter/boss/0009.png", false),
            }, 50, 50);
            sequence.Delay = 50;
            sequence.Loop  = true;
            AnimationSequences["Default"] = sequence;

            StartAnimation("Default");
        }
Ejemplo n.º 32
0
 public override void Dispose()
 {
     VisibleBuildings = null;
     _buildings       = null;
     _level           = null;
 }
Ejemplo n.º 33
0
 public override void Dispose()
 {
     _level = null;
     _rows  = null;
 }
Ejemplo n.º 34
0
        public static void PreloadImages()
        {
            ShooterLevel level = ShooterLevel.Current;

            level.LoadImage("images/shooter/boss/boss.png", true);
        }
Ejemplo n.º 35
0
        public override void Update()
        {
            base.Update();

            if (_explosions != null)
            {
                foreach (GameObject gameObject in _explosions)
                {
                    gameObject.Update();
                }
            }

            if (Dead && !_dead)
            {
                _dead = true;
                TimeIndexedSineMotion motion = (TimeIndexedSineMotion)Motion;
                motion.Amplitude = 0;
                _explosions      = new List <GameObject>();
                for (int i = 0; i < 10; i++)
                {
                    Explosion explosion = new Explosion();
                    explosion.Location = new Vector3D(Location.X + Math.Random() * 300, Location.Y - 133 + Math.Random() * 266, 10);
                    _explosions.Add(explosion);
                }

                ShooterLevel.Current.Win();
            }

            if (Dead)
            {
                return;
            }

            if (Location.X <= 500)
            {
                TimeIndexedSineMotion motion = (TimeIndexedSineMotion)Motion;
                motion.Speed = ShooterLevel.Current.BaseSpeed;
            }

            if (_topGun != null)
            {
                _topGun.Location.X = Location.X + 220;
                _topGun.Location.Y = Location.Y - 132;

                if (_topGun.Dead)
                {
                    _topGun = null;
                }
            }

            if (_bottomGun != null)
            {
                _bottomGun.Location.X = Location.X + 220;
                _bottomGun.Location.Y = Location.Y + 132;

                if (_bottomGun.Dead)
                {
                    _bottomGun = null;
                }
            }

            if (_middleGun != null)
            {
                _middleGun.Location.X = Location.X + 4;
                _middleGun.Location.Y = Location.Y;

                if (_middleGun.Dead)
                {
                    _middleGun = null;
                }
            }

            if (_topGun == null && _middleGun == null && _bottomGun == null)
            {
                ShooterLevel level = ShooterLevel.Current;
                if (!Dead && level.Ticks >= _lastShot + FireRate)
                {
                    _lastShot = level.Ticks;

                    new BasicPlasmaBall(Location, new StraightMotion(new Vector2D(Math.Random() * -0.1f, 0.05f - Math.Random() * 0.1f)));
                    new BasicPlasmaBall(Location, new StraightMotion(new Vector2D(Math.Random() * -0.1f, 0.05f - Math.Random() * 0.1f)));
                    new BasicPlasmaBall(Location, new StraightMotion(new Vector2D(Math.Random() * -0.1f, 0.05f - Math.Random() * 0.1f)));
                }
            }
            else
            {
                Life = 300;
            }
        }
Ejemplo n.º 36
0
 public override void Dispose()
 {
     base.Dispose();
     _backgroundImage = null;
     _music.Pause();
     _music = null;
     Current = null;
 }
Ejemplo n.º 37
0
        protected override void Init()
        {
            #if DEBUG
            if (Current != null) throw Exception.Create("Cannot have more than one ShooterLevel running at the same time!", null);
            #endif
            pendingTimers = new List<int>();

            if (jQuery.Browser.Mozilla)
                _music = LoadAudio("Audio/boss.ogg");
            else
                _music = LoadAudio("Audio/boss.mp3");

            Current = this;
            Status = ShooterStatus.Starting;
            BaseSpeed = 0.05f;
            _backgroundImage = LoadImage("Images/shooter/bg.png", false);
            AddSystem(new CloudSystem());
            AddSystem(Meteor = new MeteorSystem());
            AddSystem(Buildings = new BuildingSystem(700, _length, 3));
            AddSystem(Dinos = new DinosSystem(_length));
            AddSystem(_weapons = new WeaponsSystem());
            AddSystem(Plasma = new PlasmaSystem());
            AddSystem(Bonus = new BonusSystem());

            ShowMessage(_startMessage);
            Window.SetTimeout(delegate()
            {
                HideMessage();
                Status = ShooterStatus.Running;
                _music.Play();

                _music.AddEventListener("ended", delegate(ElementEvent e) { _music.Play(); }, false);
            }, 3000);
        }
Ejemplo n.º 38
0
 public override void Dispose()
 {
     _level = null;
     Ship = null;
 }
Ejemplo n.º 39
0
 public override void Dispose()
 {
     VisibleBuildings = null;
     _buildings = null;
     _level = null;
 }