Add weapons and engine to environmental effects

This commit is contained in:
2021-04-15 01:30:13 +02:00
parent 3e5809a98e
commit d99cbe3211
5 changed files with 23 additions and 3 deletions
+20 -2
View File
@@ -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);
}