diff --git a/.vs/EvilSatellites/DesignTimeBuild/.dtbcache.v2 b/.vs/EvilSatellites/DesignTimeBuild/.dtbcache.v2 index 5cf0ec0..eecd96b 100644 Binary files a/.vs/EvilSatellites/DesignTimeBuild/.dtbcache.v2 and b/.vs/EvilSatellites/DesignTimeBuild/.dtbcache.v2 differ diff --git a/.vs/EvilSatellites/v16/.suo b/.vs/EvilSatellites/v16/.suo index cefdcea..4cfe745 100644 Binary files a/.vs/EvilSatellites/v16/.suo and b/.vs/EvilSatellites/v16/.suo differ diff --git a/EvilSatellites/Objects/Player.cs b/EvilSatellites/Objects/Player.cs index 80dc3f7..4339136 100644 --- a/EvilSatellites/Objects/Player.cs +++ b/EvilSatellites/Objects/Player.cs @@ -37,6 +37,8 @@ namespace EvilSatellites.Objects sfxWhine = Screen.Manager.Sound.Load(@"sfx/engine/int/engineWhine.wav", false); sfxEngine.Loop = true; sfxWhine.Loop = true; + sfxEngine.ConnectToEffect(Screen.Manager.EnvironmentEffect); + sfxWhine.ConnectToEffect(Screen.Manager.EnvironmentEffect); sfxEngine.Play(); sfxWhine.Play(); diff --git a/EvilSatellites/ScreenManager.cs b/EvilSatellites/ScreenManager.cs index d1bd1e8..a84f726 100644 --- a/EvilSatellites/ScreenManager.cs +++ b/EvilSatellites/ScreenManager.cs @@ -26,7 +26,7 @@ namespace EvilSatellites EnvironmentEffect = Sound.CreateReverb(); EnvironmentEffect.Delay = 0.03; EnvironmentEffect.Wet = 30; - EnvironmentEffect.T60 = 3.3; + EnvironmentEffect.T60 = 5; EnvironmentEffect.Defusion = 1; EnvironmentEffect.FreePath = 0.22; diff --git a/EvilSatellites/Weapons/LaserMG.cs b/EvilSatellites/Weapons/LaserMG.cs index e1acebb..6096f64 100644 --- a/EvilSatellites/Weapons/LaserMG.cs +++ b/EvilSatellites/Weapons/LaserMG.cs @@ -37,10 +37,19 @@ namespace EvilSatellites.Weapons sfxSpinning = Screen.Manager.Sound.Load(@"sfx/weapons/LaserMG/spinning.wav", false); sfxSpinning.Loop = true; sfxShoot = new AudioAsset(Screen.Manager.Sound, @"sfx/weapons/LaserMG/fire", 1, 4); + sfxReload.ConnectToEffect(Screen.Manager.EnvironmentEffect); + sfxShoot.AddEffect(Screen.Manager.EnvironmentEffect); + sfxSpindown.ConnectToEffect(Screen.Manager.EnvironmentEffect); + sfxSpinup.ConnectToEffect(Screen.Manager.EnvironmentEffect); + sfxSpinning.ConnectToEffect(Screen.Manager.EnvironmentEffect); } public override void Shoot(GameTime time) { + if (State != WeaponState.Stopped) + { + return; + } State = WeaponState.Starting; sfxSpinup.Reset(); sfxSpinup.Play(); @@ -49,12 +58,13 @@ namespace EvilSatellites.Weapons public override void Stop() { - if (State == WeaponState.Firing) + if (State != WeaponState.Stopped) { sfxSpinning.Pause(); + sfxSpinup.Pause(); sfxSpindown.Reset(); sfxSpindown.Play(); - State = WeaponState.Stopped; + State = WeaponState.Stopping; } } @@ -80,6 +90,14 @@ namespace EvilSatellites.Weapons Screen.AddObject(proj); } } + if (State == WeaponState.Stopping) + { + if (TimerEnd - TimerStart > 500) + { + State = WeaponState.Stopped; + TimerStart = TimerEnd; + } + } base.Update(time); }