// Function for if player is beeing shot. private void checkShotToPlayerCollisions() { // Run for all enemy shots. foreach (Sprite shot in enemyManager.EnemyShotManager.Shots) { // Check if shot is colliding with player. if (shot.IsCircleColliding(playerManager.Center, playerManager.CollisionRadius)) { // Move shot off screen so that it can be removed. shot.Position = offScreen; // Destroy the player. playerManager.Destroyed = true; // Add an explosion corresponding to if player is facing left or right. if (playerManager.Position.X >= InputManager.MouseState.X) { playerExplosionManager.AddExplosion(playerManager.Center, Vector2.Zero, false); } else { playerExplosionManager.AddExplosion(playerManager.Center, Vector2.Zero, true); } } } }
// Function for if Enemy is beeing shot. private void checkShotToEnemyCollisions() { // Run for all shots. foreach (Sprite shot in playerManager.PlayerShotManager.Shots) { // And all enemies. foreach (Enemy enemy in enemyManager.Enemies) { // Check if a shot and enemy is colliding. if (shot.IsBoxColliding(enemy.EnemySprite.BoundingBoxRect)) { // Move shot off screen so that it can be removed. shot.Position = offScreen; // Destroy the enemy. enemy.Destroyed = true; // Add an explosion att the enemy. enemyExplosionManager.AddExplosion(enemy.EnemySprite.Center, enemy.EnemySprite.Velocity / 10, !(enemy.EnemySprite.Velocity.X < 0)); ScoreManager.CurrentScore += 10; } } } }