Add weapons and engine to environmental effects
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user