private void _processAsteroidCollision(Asteroid asteroid) { var soundEngine = SoundEffectEngine.GetInstance(); soundEngine.StopAirThrust(); soundEngine.StopAirThrust(); //Can have two air thrusts going soundEngine.StopRocket(); _expired = true; }
private void _fireProjectile() { if ((DateTime.Now.Ticks - _fireInterval) > _lastFired) { var projectileFactory = ProjectileFactory.GetInstance(); projectileFactory.AddStandardProjectile(_location, _direction, Color.Red); SoundEffectEngine.GetInstance().PlayLaserShot(); _lastFired = DateTime.Now.Ticks; } }
/// <summary> /// Move our sprite based on arrow keys being pressed: /// </summary> private void _handleKeyPress(KeyboardState keyState) { if (keyState.IsKeyDown(Keys.D)) { //If _isRightThrust is false, we are initiating the thrust, so play sound if (!_isRightThrust) { SoundEffectEngine.GetInstance().LoopAirThrust(); } _isRightThrust = true; _appyRotation(true); } //If _isRightThrust is true, but A is up, we are stopping our thrust. if (_isRightThrust && keyState.IsKeyUp(Keys.D)) { SoundEffectEngine.GetInstance().StopAirThrust(); _isRightThrust = false; } if (keyState.IsKeyDown(Keys.A)) { //If _isLeftThrust is false, we are initiating the thrust, so play sound if (!_isLeftThrust) { SoundEffectEngine.GetInstance().LoopAirThrust(); } _isLeftThrust = true; _appyRotation(false); } //If _isRightThrust is true, but A is up, we are stopping our thrust. if (_isLeftThrust && keyState.IsKeyUp(Keys.A)) { SoundEffectEngine.GetInstance().StopAirThrust(); _isLeftThrust = false; } if (keyState.IsKeyDown(Keys.W)) { if (!_isThrusting) { SoundEffectEngine.GetInstance().LoopRocket(); } _isThrusting = true; _applyThrust(); } if (_isThrusting && keyState.IsKeyUp(Keys.W)) { SoundEffectEngine.GetInstance().StopRocket(); _isThrusting = false; } if (keyState.IsKeyDown(Keys.Space)) { _fireProjectile(); } }