private void EnemyCollisions(EnemyStarfighter e) { // if player intersects with enemy if (e.boundingBox.Intersects(playerShip.boundingBox)) { e.isVisible = false; playerShip.health -= 20; SoundManager.justBoom.Play(volume: SoundManager.effectsVolume, pitch: 0.0f, pan: 0.0f); Level2Explosions explosionObject = new Level2Explosions(new Vector2(e.position.X + e.enemyTexture.Width / 2, e.position.Y + e.enemyTexture.Height / 2), explosionTexture); explosionObject.isVisible = true; explosionsList.Add(explosionObject); destroyCount++; } // foreach (Bullet playerBullet in playerShip.bulletList) { if (playerBullet.boundingBox.Intersects(e.boundingBox)) { destroyCount++; playerBullet.isVisible = false; e.isVisible = false; HUD.playerScore += 30; SoundManager.justBoom.Play(volume: SoundManager.effectsVolume, pitch: 0.0f, pan: 0.0f); Level2Explosions explosionObject = new Level2Explosions(new Vector2(e.position.X + e.enemyTexture.Width / 2, e.position.Y + e.enemyTexture.Height / 2), explosionTexture); explosionObject.isVisible = true; explosionsList.Add(explosionObject); } } }
private void EnemyBulletsCollisions(EnemyStarfighter e) { foreach (Bullet b in e.bulletList) { if (b.boundingBox.Intersects(playerShip.boundingBox)) { b.isVisible = false; playerShip.health -= 10; } } }
// Enemies private void LoadEnemies() { if (enemyDelay > 0) { enemyDelay--; } if (enemyDelay <= 0) { EnemyStarfighter newEnemy = new EnemyStarfighter(enemyTexture, enemyBullet); newEnemy.isVisible = true; if (enemyList.Count < enemyLimit && enemyLimit != 0) { enemyList.Add(newEnemy); } } if (enemyDelay <= 0) { enemyDelay = 80; } }