Пример #1
0
        public Sidearm(SpriteSheet spriteSheet, Ship ship, Vector2 offset) 
            : base(spriteSheet) 
        {
            //add to playership list so that sidearm can collision and be shot at by enemies
            //PlayerShip.PlayerShips.Add(this);
            this.ship = ship;
            this.Speed = Config.BuddySpeed;
            this.WeaponOffset = offset;
            //timer = new Timer();
            //interval = 30;
            //timer.Start(interval);
            //timer.Fire += new NotifyHandler(timer_Fire);

            this.Sprite.Origin -= offset;
            //this.Rotation += (float)(Math.PI / 4d);
            //this.Position = Player.Ship.Position;
            this.Health = 500;
            //this.ExplosionSpriteSheet = Config.ProjectileExplosion;

            //this.FireAction = new FireAction(ProjectileBullet.FireBullet);
            //this.Weapon = new WeaponAuto(this, Config.SidearmFireInterval);
            this.FireAction = new FireAction(queueBullet.FireBullet);
            this.Weapon = new WeaponAuto(this, Config.PlayerFireInterval);
                        //this.Weapon.Position = this.ship.Position;
            //this.Weapon.Offset = offset;
        }
        //Sidearm sidearm1;
        //Sidearm sidearm2;
        //Sidearm sidearm3;
        //Sidearm sidearm4;


        public EnemyInterceptor(SpriteSheet spriteSheet)
            : base(spriteSheet)
        {
            this.Health = Config.EnemyHealth;
            this.Speed = Config.EnemySpeed;
            this.FireAction = new FireAction(enemyProjectileBullet.enemyFireBullet);
            this.Weapon = new WeaponSingle(this);
            
            this.Weapon.Direction = new Vector2(0, 1);

            this.fireTimer = new Timer();
            this.fireTimer.Fire += new NotifyHandler(fireTimer_Fire);

            this.baseTexture = new Sprite(Config.EnemyInterceptorSpriteSheetBase);
            this.baseTexture.Color = Color.Turquoise;

            moveTo = new Vector2(Config.Rand.Next(50, 1550), Config.Rand.Next(50, 910));

            //sidearm1 = new Sidearm(Config.EnemyChaserSpriteSheet, this, new Vector2(30, 0));
            //sidearm1.Position = new Vector2(Config.WorldBoundsX / 2, Config.WorldBoundsY / 2 - this.Sprite.Origin.Y);
            //sidearm1.SetParent(this);

            //sidearm2 = new Sidearm(Config.EnemyChaserSpriteSheet, this, new Vector2(30, 0));
            //sidearm2.Position = new Vector2(Config.WorldBoundsX / 2, Config.WorldBoundsY / 2 - this.Sprite.Origin.Y);
            //sidearm2.SetParent(this);

            //sidearm3 = new Sidearm(Config.EnemyChaserSpriteSheet, this, new Vector2(30, 0));
            //sidearm3.Position = new Vector2(Config.WorldBoundsX / 2, Config.WorldBoundsY / 2 - this.Sprite.Origin.Y);
            //sidearm3.SetParent(this);

            //sidearm4 = new Sidearm(Config.EnemyChaserSpriteSheet, this, new Vector2(30, 0));
            //sidearm4.Position = new Vector2(Config.WorldBoundsX / 2, Config.WorldBoundsY / 2 - this.Sprite.Origin.Y);
            //sidearm4.SetParent(this);
        }
Пример #3
0
 public GameNode(SpriteSheet spriteSheet) : base(spriteSheet) 
 {
     bounds = new Rectangle(0, 0, Config.WorldBoundsX, Config.WorldBoundsY);
     bounds.Inflate((int)(this.Sprite.Origin.X * 3), (int)(this.Sprite.Origin.Y * 3));
     hitTimer = new Timer();
     hitTimer.Fire += new NotifyHandler(hitTimer_Fire);
 }
Пример #4
0
        public EnemyShooter(SpriteSheet spriteSheet)
            : base(spriteSheet)
        {
            this.Health = Config.EnemyHealth;
            //this.ExplosionSpriteSheet = Config.SmallExplosionSpriteSheet;
            this.Speed = Config.EnemySpeed;
            this.FireAction = new FireAction(shooterProjectileBullet.enemyFireBullet);
            //this.Weapon = new WeaponSingle(this);

            //WeaponBurstWave burst = new WeaponBurstWave(this, 0, 8, 0.8f);
            //this.Weapon = new WeaponAutoBurst(this, Config.EnemyFireInterval, burst);

            //WeaponBurstWave burst = new WeaponBurstWave(this, 0, 8, 0.8f);
            //WeaponBurstWave burstWeapon = new WeaponBurstWave(this, 0, 2, 0.3f);
            this.Weapon = new WeaponBurstWave(this, 0, 2, 0.3f);
            //this.Weapon = new WeaponAutoBurst(this, 5, burstWeapon);

            this.Weapon.Direction = new Vector2(0, 1);
            //this.Weapon.Offset = new Vector2(0, this.Sprite.Origin.Y);

            this.fireTimer = new Timer();
            this.fireTimer.Fire += new NotifyHandler(fireTimer_Fire);
            this.fireTimer.Start(5);
            this.baseTexture = new Sprite(Config.EnemyShooterSpriteSheetBase);
            this.baseTexture.Color = Color.DarkGoldenrod;

            moveTo = new Vector2(Config.Rand.Next(50, 1550), Config.Rand.Next(50, 910));
        }
Пример #5
0
 public EnemyDasher(SpriteSheet spriteSheet)
     : base(spriteSheet)
 {
     this.Health = Config.EnemyHealth;
     this.Speed = Config.EnemyDasherSpeed;
     
     this.baseTexture = new Sprite(Config.EnemyDasherSpriteSheetBase);
     this.baseTexture.Color = Color.DarkOrange;
 }
Пример #6
0
 public Sprite(SpriteSheet spriteSheet)
 {
     this.sheet = spriteSheet;
     this.frameTimeRemaining = sheet.FrameInterval;
     this.Origin = new Vector2(spriteSheet.TileWidth / 2, spriteSheet.TileHeight / 2);
     this.Color = sheet.Color;
     this.layerDepth = sheet.LayerDepth;
     this.Width = this.sheet.TileWidth;
     this.Height = this.sheet.TileHeight;
     this.Texture = this.sheet.Textures[0];
     this.Scale = 1.0f;
 }
Пример #7
0
        //Vector2 line;

        //public static List<GameNode> Powerups = new List<GameNode>();

        public PowerupEnemy(SpriteSheet spriteSheet)
            : base(spriteSheet)
        {
            this.CollisionList = Enemy.Enemies;

            timer = new Timer();
            interval = 5;
            timer.Fire += new NotifyHandler(timer_Fire);
            timer.Start(interval);

            //Powerups.Add(this);
        }
Пример #8
0
        public Enemy(SpriteSheet spriteSheet, int invulDuration)
            : base(spriteSheet)
        {
            Enemies.Add(this);

            this.baseScore = 25;

            this.Invulnerable = true;
            this.invulTimer = new Timer();
            this.invulTimer.Fire += new NotifyHandler(invulTimer_Fire);
            this.invulTimer.Start(invulDuration);
            this.Sprite.Color = new Color(100, 100, 100, 50);
        }
Пример #9
0
        public PlayerShield(SpriteSheet spriteSheet, Ship parentShip)
            : base(spriteSheet)
        {
            this.Health = Config.ShieldHealth;

            this.CollisionList = Enemy.Enemies;
            //this.CollisionList2 = EnemyPlayerShip.EnemyPlayerShips;

            shieldVisibleTimer = new Timer();
            shieldVisibleTimer.Fire += new NotifyHandler(shieldVisibleTimer_Fire);

            shieldRegenTick = new Timer();
            shieldRegenTick.Fire += new NotifyHandler(shieldRegenTick_Fire);
            this.parentShip = parentShip;
        }
Пример #10
0
        public Powerup(SpriteSheet spriteSheet)
            : base(spriteSheet)
        {
            this.CollisionList = PlayerShip.PlayerShips;
            this.CollisionList2 = EnemyPlayerShip.EnemyPlayerShips;

            timer = new Timer();
            interval = 5;
            timer.Fire += new NotifyHandler(timer_Fire);
            timer.Start(interval);

            this.Speed = 10f;

            Powerups.Add(this);
        }
Пример #11
0
        public EnemyChaser(SpriteSheet spriteSheet)
            : base(spriteSheet)
        {
            this.Health = Config.EnemyHealth;
            //this.ExplosionSpriteSheet = Config.SmallExplosionSpriteSheet;
            //this.FireAction = new FireAction(enemyProjectileBullet.enemyFireBullet);
            //this.Weapon = new WeaponSingle(this);
            //this.Weapon.Direction = new Vector2(0, 1);
            //this.Weapon.Offset = new Vector2(0, this.Sprite.Origin.Y);

            //this.fireTimer = new Timer();
            //this.fireTimer.Fire += new NotifyHandler(fireTimer_Fire);
            //this.fireTimer.Start(Config.EnemyFireInterval);
            this.baseTexture = new Sprite(Config.EnemyChaserSpriteSheetBase);
            this.baseTexture.Color = Color.DarkRed;
            moveTo = new Vector2(Config.Rand.Next(50, 1550), Config.Rand.Next(50, 910));
        }
Пример #12
0
        public BuddyMissile(SpriteSheet spriteSheet)
            : base(spriteSheet)
        {
            this.Health = Config.EnemyHealth;
            //this.ExplosionSpriteSheet = Config.SmallExplosionSpriteSheet;

            this.FireAction = new FireAction(this.FireBullet);
            this.Weapon = new WeaponBurst(this, Config.EnemyBurstFireInterval, Config.EnemyBurstFireTotal);
            this.Weapon.Direction = new Vector2(0, 1);
            //this.Weapon.Offset = new Vector2(0, this.Sprite.Origin.Y);

            this.fireTimer = new Timer();
            this.fireTimer.Fire += new NotifyHandler(fireTimer_Fire);
            this.fireTimer.Start(Config.EnemyFireInterval);

            this.Speed = Config.BuddySpeed;

            this.CollisionList = null;
        }
Пример #13
0
        public BugDagger3(SpriteSheet spriteSheet)
            : base(spriteSheet, 1)
        {
            this.Health = Config.EnemyHealth;
            //this.ExplosionSpriteSheet = Config.SmallExplosionSpriteSheet;
            this.Speed = Config.EnemySpeed - 1;
            this.FireAction = new FireAction(enemyProjectileBullet.enemyFireBullet);
            this.Weapon = new WeaponSingle(this);
            
            //WeaponBurstWave burst = new WeaponBurstWave(this, 0, 8, 0.8f);
            //this.Weapon = new WeaponAutoBurst(this, Config.EnemyFireInterval, burst);

            this.Weapon.Direction = new Vector2(0, 1);
            //this.Weapon.Offset = new Vector2(0, this.Sprite.Origin.Y);

            this.fireTimer = new Timer();
            this.fireTimer.Fire += new NotifyHandler(fireTimer_Fire);
            //this.fireTimer.Start(Config.EnemyFireInterval);
            this.baseTexture = new Sprite(Config.BugDagger3SpriteSheetBase);
            moveTo = new Vector2(Config.Rand.Next(50, 1550), Config.Rand.Next(50, 910));
        }
Пример #14
0
        public boss1(SpriteSheet spriteSheet)
            : base(spriteSheet)
        {
            this.Health = Config.BossHealth;
            //this.ExplosionSpriteSheet = Config.SmallExplosionSpriteSheet;
            this.Speed = Config.BossSpeed;
            this.FireAction = new FireAction(bossProjectileBullet.enemyFireBullet);

            //this.Weapon = new WeaponSingle(this);
            
            //WeaponBurstWave burst = new WeaponBurstWave(this, 0, 8, 0.8f);
            //WeaponBurstWave burst = new WeaponBurstWave(this, 0, 6, 2.0f);
            this.Weapon = new WeaponBurstWave(this, 0, 6, 2.0f);
            //this.Weapon = new WeaponAutoBurst(this, Config.BossFireInterval, burst);

            this.Weapon.Direction = new Vector2(0, 1);
            //this.Weapon.Offset = new Vector2(0, this.Sprite.Origin.Y);

            this.fireTimer = new Timer();
            this.fireTimer.Fire += new NotifyHandler(fireTimer_Fire);
            this.fireTimer.Start(Config.BossFireInterval);
            this.baseTexture = new Sprite(Config.BossSpriteSheetBase);
        }
 public shooterProjectileBullet(SpriteSheet spriteSheet) : base(spriteSheet) { }
 public ProjectileMelter(SpriteSheet spriteSheet) : base(spriteSheet) { }
Пример #17
0
 public PowerupHealth(SpriteSheet spriteSheet) : base(spriteSheet) { }
        //internal Vector2 startPosition;

        public enemyProjectile(SpriteSheet spriteSheet)
            : base(spriteSheet)
        {
            this.Health = 1;
            EnemyProjectiles.Add(this);
        }
Пример #19
0
 public queueBullet(SpriteSheet spriteSheet) : base(spriteSheet) { }
Пример #20
0
        public PlayerShip(SpriteSheet spriteSheet)
            : base(spriteSheet)
        {
            PlayerShips.Add(this);
            this.Speed = Config.ShipSpeed;
            this.Health = Config.ShipHealth;
            this.MaxHealth = Config.ShipHealth;
            this.FireInterval = Config.PlayerFireInterval;
            //this.ExplosionSpriteSheet = Config.SmallExplosionSpriteSheet;

            this.FireAction = new FireAction(ProjectileBulletGreenBeam.FireBullet);

            this.Weapon = new WeaponAuto(this, FireInterval);

            InvulnerableTimer = new Timer();
            InvulnerableTimer.Fire += new NotifyHandler(InvulnerableTimer_Fire);
            this.InvulnerableTimer.Start(3);
            isInvulnerable = true;
            megaMagnetActive = false;

            laser = new Laser();
            ////ShieldBar = new Bar(400, 2, Color.RoyalBlue);
            //ShieldBar = new Bar(400, 2, new Color(65, 105, 225, 0));
            //ShieldBar.Position = new Vector2(200, 440);
            //ShieldBar.DrawCentered = true;

            ////HealthBar = new Bar(400, 2, Color.Red);
            //HealthBar = new Bar(400, 2, new Color(255, 0, 0, 0));
            //HealthBar.Position = new Vector2(200, 460);
            //HealthBar.DrawCentered = true;

            //WeaponBurst burstWeapon = new WeaponBurstWave(this, 0, 1, 0.14f);
            //this.Weapon = new WeaponAutoBurst(this, Config.PlayerFireInterval, burstWeapon);

            //this.FireAction = new FireAction(ProjectileMissile.FireMissile);
            //this.Weapon = new WeaponBurstWave(this, Config.WaveFireInterval, Config.WaveFireTotal, Config.WaveFireSpread);

            //WeaponBurst burstWeapon = new WeaponBurstWave(this, Config.WaveFireInterval, Config.WaveFireTotal, Config.WaveFireSpread);
            //this.Weapon = new WeaponAutoBurst(this, Config.WaveFireInterval * Config.WaveFireTotal, burstWeapon);

            //spawn sidearms
            //sidearm1 = new Sidearm(Config.BuddySpriteSheet, this);
            //sidearm1.Position = this.Position;
            //sidearm1.SetParent(this);

            //sidearm1 = new Sidearm(Config.BulletSheetGreenLaser, this, new Vector2(30, 0));
            //sidearm1.Position = new Vector2(Config.WorldBoundsX / 2, Config.WorldBoundsY / 2 - this.Sprite.Origin.Y);
            //sidearm1.SetParent(this);

            //sidearm2 = new Sidearm(Config.BulletSheetGreenLaser, this, new Vector2(-30, 0));
            //sidearm2.Position = new Vector2(Config.WorldBoundsX / 2, Config.WorldBoundsY / 2 - this.Sprite.Origin.Y);
            //sidearm2.SetParent(this);

            this.Position = new Vector2(Config.WorldBoundsX / 2, Config.WorldBoundsY / 2 - this.Sprite.Origin.Y);
            this.baseTexture = new Sprite(Config.CurrentShipBase);
            this.baseTexture.Color = Config.CurrentShipColor;
            //GameStateManagementGame.Instance.soundManager.PlaySound("ShipSpawn", 0.5f);

            ProjectileSpeedTimer = new Timer();
            ProjectileSpeedTimer.Fire += new NotifyHandler(ProjectileSpeedTimer_Fire);

            AddProjectileTimer = new Timer();
            AddProjectileTimer.Fire += new NotifyHandler(AddProjectileTimer_Fire);

            HomingMissileTimer = new Timer();
            HomingMissileTimer.Fire += new NotifyHandler(HomingMissileTimer_Fire);

            SlowAllTimer = new Timer();
            SlowAllTimer.Fire += new NotifyHandler(SlowAllTimer_Fire);

            Shield = new PlayerShield(Config.ShipShield, this);
            //PlayerShips.Add(Shield);

            //////////AI
            if (Config.AIControlled)
            {
                //this.Speed = 8f;
                //moveTo = new Vector2(Config.Rand.Next(50, 1550), Config.Rand.Next(50, 910));
                this.Weapon.StartFire();
                ////this.fireTimer = new Timer();
                ////this.fireTimer.Fire += new NotifyHandler(fireTimer_Fire);
                ////this.fireTimer.Start(FireInterval);
            }
            ////////////

        }
 public bossProjectileBullet(SpriteSheet spriteSheet) : base(spriteSheet) { }
                //double triggerTimer = 0;
        //float triggerTime = 0.05f;

        public ProjectileBulletGreenBeam(SpriteSheet spriteSheet)
            : base(spriteSheet) 
        {
        }
Пример #23
0
 public PowerupSlowAll(SpriteSheet spriteSheet) : base(spriteSheet) { }
Пример #24
0
 public PowerupShields(SpriteSheet spriteSheet) : base(spriteSheet) { }
Пример #25
0
 public EffectNode(SpriteSheet spriteSheet, Vector2 position)
     : base(spriteSheet)
 {
     this.Sprite.Loop += new NotifyHandler(Sprite_Loop);
     this.Position = position;
 }
 public PowerupLaserDefence(SpriteSheet spriteSheet) : base(spriteSheet) { }
 public ProjectileMissile(SpriteSheet spriteSheet) : base(spriteSheet) { }
 public PowerupMissiles(SpriteSheet spriteSheet) : base(spriteSheet) { }
 public PowerupAddBullet(SpriteSheet spriteSheet) : base(spriteSheet) { }
Пример #30
0
        //static VibrateController vibrate = VibrateController.Default;

        public Ship(SpriteSheet spriteSheet) : base(spriteSheet) { }