diff --git a/.vs/EvilSatellites/DesignTimeBuild/.dtbcache.v2 b/.vs/EvilSatellites/DesignTimeBuild/.dtbcache.v2 index 81c69e1..a2e6059 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 6aca985..9634a6a 100644 Binary files a/.vs/EvilSatellites/v16/.suo and b/.vs/EvilSatellites/v16/.suo differ diff --git a/EvilSatellites/EvilSatellites.csproj b/EvilSatellites/EvilSatellites.csproj index 57592a4..ed8a200 100644 --- a/EvilSatellites/EvilSatellites.csproj +++ b/EvilSatellites/EvilSatellites.csproj @@ -9,6 +9,9 @@ app.manifest Icon.ico + + d:\EvilSatellites\ + diff --git a/EvilSatellites/Objects/Debris.cs b/EvilSatellites/Objects/Debris.cs index 95e690f..2b227e2 100644 --- a/EvilSatellites/Objects/Debris.cs +++ b/EvilSatellites/Objects/Debris.cs @@ -56,7 +56,7 @@ namespace EvilSatellites.Objects var player = (Player)obj; if (player.Vacuuming) { - player.CurrentWeapon.RemainingAmmo += rnd.Next(player.CurrentWeapon.MaxAmmo); + player.CurrentWeapon.Reload(rnd.Next(player.CurrentWeapon.MaxAmmo)); Destroy(); return; } diff --git a/EvilSatellites/Objects/Player.cs b/EvilSatellites/Objects/Player.cs index f547923..10939f0 100644 --- a/EvilSatellites/Objects/Player.cs +++ b/EvilSatellites/Objects/Player.cs @@ -203,6 +203,13 @@ namespace EvilSatellites.Objects } dmgSound += "/int/" + (rnd.Next(2)+1).ToString()+".wav"; Screen.Manager.Sound.PlayOneshot(dmgSound); + if (Health < 1) + { + Destroy(); + Screen.Manager.Sound.PlayOneshot(@"sfx/physics/crashes/1.wav"); + System.Threading.Thread.Sleep(2000); + Environment.Exit(0); + } } public void IncreaseHealth(float amount) diff --git a/EvilSatellites/Weapons/AbstractWeapon.cs b/EvilSatellites/Weapons/AbstractWeapon.cs index 70117de..b7fec3f 100644 --- a/EvilSatellites/Weapons/AbstractWeapon.cs +++ b/EvilSatellites/Weapons/AbstractWeapon.cs @@ -16,7 +16,7 @@ namespace EvilSatellites.Weapons Stopping } - public class AbstractWeapon : IWeapon + public abstract class AbstractWeapon : IWeapon { public IGameObject _wielder; public float FireRate { get; set; } @@ -29,6 +29,6 @@ namespace EvilSatellites.Weapons public virtual void Reload() { } public virtual void Stop() { } public virtual void Update(GameTime time) { } - + public abstract void Reload(int amount); } } diff --git a/EvilSatellites/Weapons/IWeapon.cs b/EvilSatellites/Weapons/IWeapon.cs index cc7cf10..df68099 100644 --- a/EvilSatellites/Weapons/IWeapon.cs +++ b/EvilSatellites/Weapons/IWeapon.cs @@ -11,7 +11,7 @@ namespace EvilSatellites.Weapons public interface IWeapon { void Shoot(GameTime time); - void Reload(); + void Reload(int amount); void Stop(); void Update(GameTime time); float FireRate { get; set; } diff --git a/EvilSatellites/Weapons/LaserMG.cs b/EvilSatellites/Weapons/LaserMG.cs index 0501b6b..0466e66 100644 --- a/EvilSatellites/Weapons/LaserMG.cs +++ b/EvilSatellites/Weapons/LaserMG.cs @@ -113,5 +113,11 @@ namespace EvilSatellites.Weapons base.Update(time); } + public override void Reload(int amount) + { + RemainingAmmo += amount; + sfxReload.Reset(); + sfxReload.Play(); + } } }