Added configurable weapons.

This commit is contained in:
2026-01-03 21:49:27 -05:00
parent 79fd63c3ce
commit e8e31bb143
37 changed files with 332 additions and 88 deletions

View File

@@ -3,7 +3,7 @@ using AlienAttack.MonoGame.Things.Muzzles;
namespace AlienAttack.MonoGame.Things.Weapons;
internal class Minigun : Weapon
public class Minigun : Weapon
{
public override int FireThreshold => 15;
@@ -26,7 +26,7 @@ internal class Minigun : Weapon
}
}
internal abstract class MinigunSingle : Weapon
public abstract class MinigunSingle : Weapon
{
public override void Fire(Sprite owner, SpriteUpdateContext context)
{
@@ -50,23 +50,23 @@ internal abstract class MinigunSingle : Weapon
}
}
internal class MinigunSingleSlow : MinigunSingle
public class MinigunSingleSlow : MinigunSingle
{
public override int FireThreshold => 20;
}
internal class MinigunSingleAverage : MinigunSingle
public class MinigunSingleAverage : MinigunSingle
{
public override int FireThreshold => 15;
}
internal class MinigunSingleFast : MinigunSingle
public class MinigunSingleFast : MinigunSingle
{
public override int FireThreshold => 10;
}
internal abstract class MinigunDouble : Weapon
public abstract class MinigunDouble : Weapon
{
public override void Fire(Sprite owner, SpriteUpdateContext context)
{
@@ -91,23 +91,22 @@ internal abstract class MinigunDouble : Weapon
}
}
internal class MinigunDoubleSlow : MinigunDouble
public class MinigunDoubleSlow : MinigunDouble
{
public override int FireThreshold => 30;
}
internal class MinigunDoubleAverage : MinigunDouble
public class MinigunDoubleAverage : MinigunDouble
{
public override int FireThreshold => 20;
}
internal class MinigunDoubleFast : MinigunDouble
public class MinigunDoubleFast : MinigunDouble
{
public override int FireThreshold => 15;
}
internal abstract class MinigunTriple : Weapon
public abstract class MinigunTriple : Weapon
{
public override void Fire(Sprite owner, SpriteUpdateContext context)
{
@@ -133,23 +132,22 @@ internal abstract class MinigunTriple : Weapon
}
}
internal class MinigunTripleSlow : MinigunTriple
public class MinigunTripleSlow : MinigunTriple
{
public override int FireThreshold => 30;
}
internal class MinigunTripleAverage : MinigunTriple
public class MinigunTripleAverage : MinigunTriple
{
public override int FireThreshold => 20;
}
internal class MinigunTripleFast : MinigunTriple
public class MinigunTripleFast : MinigunTriple
{
public override int FireThreshold => 15;
}
internal abstract class MinigunTripleSpread : Weapon
public abstract class MinigunTripleSpread : Weapon
{
public override void Fire(Sprite owner, SpriteUpdateContext context)
{
@@ -175,18 +173,18 @@ internal abstract class MinigunTripleSpread : Weapon
}
}
internal class MinigunTripleSpreadSlow : MinigunTripleSpread
public class MinigunTripleSpreadSlow : MinigunTripleSpread
{
public override int FireThreshold => 30;
}
internal class MinigunTripleSpreadAverage : MinigunTripleSpread
public class MinigunTripleSpreadAverage : MinigunTripleSpread
{
public override int FireThreshold => 20;
}
internal class MinigunTripleSpreadFast : MinigunTripleSpread
public class MinigunTripleSpreadFast : MinigunTripleSpread
{
public override int FireThreshold => 15;
}