/// <summary> /// This adds a projectile. /// </summary> /// <param name="positionX">The projectile's X position.</param> /// <param name="positionY">The projectile's Y position.</param> /// <param name="velocity">The projectile's velocity.</param> /// <param name="imageProjectile">The projectile's texture.</param> protected void AddProjectile(int positionX, int positionY, float velocity, Texture2D imageProjectile, int damage) { ProjectileSprite projectile = new ProjectileSprite(game, imageProjectile, positionX - imageProjectile.Width / 2, positionY - imageProjectile.Height, velocity, damage); projectile.Initialize(); projectiles.Add(projectile); }
/// <summary> /// This is called when the player is hit by a projectile. /// (The player parameter could be used if in the future a multiplayer /// level is added.) /// </summary> /// <param name="player">The player</param> /// <param name="projectile">The projectile</param> private void onPlayerHit(DrawableGameComponent player, ProjectileSprite projectile) { health = health - projectile.Damage; if (health <= 0) { if (GameOver != null) { GameOver(); } } }
/// <summary> /// Adds to the score when an opponent dies. /// </summary> /// <param name="alien"></param> /// <param name="projectile"></param> private void onAlienHit(DrawableGameComponent component, ProjectileSprite projectile) { if (component is AlienSprite) { score += (ulong)(component as AlienSprite).Point; } else if (component is MotherShipSprite) { score += (ulong)(component as MotherShipSprite).Point; } }
/// <summary> /// This removes a projectile that has hit something. /// </summary> /// <param name="component">The component it has hit.</param> /// <param name="projectile">The projectile.</param> protected void projectileHit(ProjectileSprite projectile) { projectiles.Remove(projectile); projectile.Dispose(); }
/// <summary> /// This method is called when the ship gets hit by a player's projectile. /// </summary> /// <param name="ship">The ship that was hit.</param> /// <param name="projectile">The projectile that hit.</param> private void onShipHit(DrawableGameComponent ship, ProjectileSprite projectile) { (ship as MotherShipSprite).Alive = false; }
/// <summary> /// This method kills an alien that was hit. /// </summary> /// <param name="alien">The alien that was hit.</param> /// <param name="projectile">The projectile that hit the alien.</param> private void onAlienHit(DrawableGameComponent alien, ProjectileSprite projectile) { (alien as AlienSprite).Alive = false; incrementAlienSpeed(); }
/// <summary> /// launches a laser /// </summary> /// <param name="player">collision rectangle of the player</param> /// <param name="game1">The game</param> public override void Launch(Rectangle player, GameTime game1) { Vector2 start = new Vector2((player.X) +(player.Width /2), (player.Y) - 2); ProjectileSprite bullet = new ProjectileSprite(game, start, imageBullet, velocity, score); bullet.Initialize(); bullets.Add(bullet); game.Components.Add(bullet); }
/// <summary> /// This is called when the player is hit by a projectile. /// (The player parameter could be used if in the future a multiplayer /// level is added.) /// </summary> /// <param name="player">The player</param> /// <param name="projectile">The projectile</param> private void onPlayerHit(DrawableGameComponent player, ProjectileSprite projectile) { health = health - projectile.Damage; if (health <= 0) if (GameOver != null) { GameOver(); } }
/// <summary> /// Adds to the score when an opponent dies. /// </summary> /// <param name="alien"></param> /// <param name="projectile"></param> private void onAlienHit(DrawableGameComponent component, ProjectileSprite projectile) { if (component is AlienSprite) score += (ulong)(component as AlienSprite).Point; else if (component is MotherShipSprite) score += (ulong) (component as MotherShipSprite).Point; }
/// <summary> /// launches a laser /// </summary> /// <param name="player">collision rectangle of the alien</param> /// <param name="game1">The game</param> public override void Launch(Rectangle alien, GameTime game1) { Vector2 start = new Vector2((alien.X), (alien.Y)); ProjectileSprite bullet = new ProjectileSprite(game, start, imageBullet, velocity, score); bullet.Initialize(); bullets.Add(bullet); game.Components.Add(bullet); }