Fix more errors, client and server now build
This commit is contained in:
@@ -140,9 +140,7 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
|
||||
{
|
||||
for (var i = 0; i < Math.Max(10, rangedMagazine.ShotsLeft); i++)
|
||||
{
|
||||
var ammo = rangedMagazine.TakeAmmo();
|
||||
|
||||
if (!ammo.Valid)
|
||||
if (rangedMagazine.TakeAmmo() is not {Valid: true} ammo)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -22,6 +22,8 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
|
||||
public class RangedMagazineComponent : Component, IMapInit, IInteractUsing, IUse, IExamine
|
||||
#pragma warning restore 618
|
||||
{
|
||||
[Dependency] private readonly IEntityManager _entities = default!;
|
||||
|
||||
public override string Name => "RangedMagazine";
|
||||
|
||||
private readonly Stack<EntityUid> _spawnedAmmo = new();
|
||||
@@ -77,7 +79,7 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
|
||||
}
|
||||
}
|
||||
|
||||
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out AppearanceComponent? appearanceComponent))
|
||||
if (_entities.TryGetComponent(Owner, out AppearanceComponent? appearanceComponent))
|
||||
{
|
||||
_appearanceComponent = appearanceComponent;
|
||||
}
|
||||
@@ -93,7 +95,7 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
|
||||
|
||||
public bool TryInsertAmmo(EntityUid user, EntityUid ammo)
|
||||
{
|
||||
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(ammo, out AmmoComponent? ammoComponent))
|
||||
if (!_entities.TryGetComponent(ammo, out AmmoComponent? ammoComponent))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -116,7 +118,7 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
|
||||
return true;
|
||||
}
|
||||
|
||||
public EntityUid TakeAmmo()
|
||||
public EntityUid? TakeAmmo()
|
||||
{
|
||||
EntityUid ammo = default;
|
||||
// If anything's spawned use that first, otherwise use the fill prototype as a fallback (if we have spawn count left)
|
||||
@@ -128,7 +130,7 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
|
||||
else if (_unspawnedCount > 0)
|
||||
{
|
||||
_unspawnedCount--;
|
||||
ammo = IoCManager.Resolve<IEntityManager>().SpawnEntity(_fillPrototype, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates);
|
||||
ammo = _entities.SpawnEntity(_fillPrototype, _entities.GetComponent<TransformComponent>(Owner).Coordinates);
|
||||
}
|
||||
|
||||
UpdateAppearance();
|
||||
@@ -142,21 +144,20 @@ namespace Content.Server.Weapon.Ranged.Ammunition.Components
|
||||
|
||||
bool IUse.UseEntity(UseEntityEventArgs eventArgs)
|
||||
{
|
||||
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(eventArgs.User, out HandsComponent? handsComponent))
|
||||
if (!_entities.TryGetComponent(eventArgs.User, out HandsComponent? handsComponent))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
var ammo = TakeAmmo();
|
||||
if (ammo == null)
|
||||
if (TakeAmmo() is not {Valid: true} ammo)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
var itemComponent = IoCManager.Resolve<IEntityManager>().GetComponent<ItemComponent>(ammo);
|
||||
var itemComponent = _entities.GetComponent<ItemComponent>(ammo);
|
||||
if (!handsComponent.CanPutInHand(itemComponent))
|
||||
{
|
||||
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(ammo).Coordinates = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(eventArgs.User).Coordinates;
|
||||
_entities.GetComponent<TransformComponent>(ammo).Coordinates = _entities.GetComponent<TransformComponent>(eventArgs.User).Coordinates;
|
||||
ServerRangedBarrelComponent.EjectCasing(ammo);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -58,7 +58,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
|
||||
|
||||
if (MagazineContainer.ContainedEntity is {Valid: true} magazine)
|
||||
{
|
||||
count += IoCManager.Resolve<IEntityManager>().GetComponent<RangedMagazineComponent>(magazine).ShotsLeft;
|
||||
count += _entities.GetComponent<RangedMagazineComponent>(magazine).ShotsLeft;
|
||||
}
|
||||
|
||||
return count;
|
||||
@@ -73,7 +73,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
|
||||
var count = 1;
|
||||
if (MagazineContainer.ContainedEntity is {Valid: true} magazine)
|
||||
{
|
||||
count += IoCManager.Resolve<IEntityManager>().GetComponent<RangedMagazineComponent>(magazine).Capacity;
|
||||
count += _entities.GetComponent<RangedMagazineComponent>(magazine).Capacity;
|
||||
}
|
||||
|
||||
return count;
|
||||
@@ -153,7 +153,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
|
||||
{
|
||||
(int, int)? count = null;
|
||||
if (MagazineContainer.ContainedEntity is {Valid: true} magazine &&
|
||||
IoCManager.Resolve<IEntityManager>().TryGetComponent(magazine, out RangedMagazineComponent? rangedMagazineComponent))
|
||||
_entities.TryGetComponent(magazine, out RangedMagazineComponent? rangedMagazineComponent))
|
||||
{
|
||||
count = (rangedMagazineComponent.ShotsLeft, rangedMagazineComponent.Capacity);
|
||||
}
|
||||
@@ -179,7 +179,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
|
||||
|
||||
if (!existing && _magFillPrototype != null)
|
||||
{
|
||||
var magEntity = IoCManager.Resolve<IEntityManager>().SpawnEntity(_magFillPrototype, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates);
|
||||
var magEntity = _entities.SpawnEntity(_magFillPrototype, _entities.GetComponent<TransformComponent>(Owner).Coordinates);
|
||||
MagazineContainer.Insert(magEntity);
|
||||
}
|
||||
Dirty();
|
||||
@@ -205,7 +205,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
|
||||
var entity = _chamberContainer.ContainedEntity ?? default;
|
||||
|
||||
Cycle();
|
||||
return entity != default ? IoCManager.Resolve<IEntityManager>().GetComponent<AmmoComponent>(entity).TakeBullet(spawnAt) : null;
|
||||
return entity != default ? _entities.GetComponent<AmmoComponent>(entity).TakeBullet(spawnAt) : null;
|
||||
}
|
||||
|
||||
private void Cycle(bool manual = false)
|
||||
@@ -272,17 +272,16 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
|
||||
|
||||
public bool TryEjectChamber()
|
||||
{
|
||||
var chamberEntity = _chamberContainer.ContainedEntity;
|
||||
if (chamberEntity != null)
|
||||
if (_chamberContainer.ContainedEntity is {Valid: true} chamberEntity)
|
||||
{
|
||||
if (!_chamberContainer.Remove(chamberEntity.Value))
|
||||
if (!_chamberContainer.Remove(chamberEntity))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
var ammoComponent = IoCManager.Resolve<IEntityManager>().GetComponent<AmmoComponent>(chamberEntity.Value);
|
||||
var ammoComponent = _entities.GetComponent<AmmoComponent>(chamberEntity);
|
||||
if (!ammoComponent.Caseless)
|
||||
{
|
||||
EjectCasing(chamberEntity.Value);
|
||||
EjectCasing(chamberEntity);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -298,16 +297,15 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
|
||||
|
||||
// Try and pull a round from the magazine to replace the chamber if possible
|
||||
var magazine = MagazineContainer.ContainedEntity ?? default;
|
||||
var nextRound = magazine != default ? IoCManager.Resolve<IEntityManager>().GetComponent<RangedMagazineComponent>(magazine).TakeAmmo() : default;
|
||||
|
||||
if (nextRound == default)
|
||||
if (_entities.GetComponentOrNull<RangedMagazineComponent>(magazine)?.TakeAmmo() is not {Valid: true} nextRound)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
_chamberContainer.Insert(nextRound);
|
||||
|
||||
if (_autoEjectMag && magazine != null && IoCManager.Resolve<IEntityManager>().GetComponent<RangedMagazineComponent>(magazine).ShotsLeft == 0)
|
||||
if (_autoEjectMag && magazine != null && _entities.GetComponent<RangedMagazineComponent>(magazine).ShotsLeft == 0)
|
||||
{
|
||||
SoundSystem.Play(Filter.Pvs(Owner), _soundAutoEject.GetSound(), Owner, AudioParams.Default.WithVolume(-2));
|
||||
|
||||
@@ -337,9 +335,9 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
|
||||
MagazineContainer.Remove(mag.Value);
|
||||
SoundSystem.Play(Filter.Pvs(Owner), _soundMagEject.GetSound(), Owner, AudioParams.Default.WithVolume(-2));
|
||||
|
||||
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(user, out HandsComponent? handsComponent))
|
||||
if (_entities.TryGetComponent(user, out HandsComponent? handsComponent))
|
||||
{
|
||||
handsComponent.PutInHandOrDrop(IoCManager.Resolve<IEntityManager>().GetComponent<ItemComponent>(mag.Value));
|
||||
handsComponent.PutInHandOrDrop(_entities.GetComponent<ItemComponent>(mag.Value));
|
||||
}
|
||||
|
||||
Dirty();
|
||||
@@ -348,7 +346,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
|
||||
|
||||
public bool CanInsertMagazine(EntityUid user, EntityUid magazine, bool quiet = true)
|
||||
{
|
||||
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(magazine, out RangedMagazineComponent? magazineComponent))
|
||||
if (!_entities.TryGetComponent(magazine, out RangedMagazineComponent? magazineComponent))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -402,7 +400,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
|
||||
}
|
||||
|
||||
// Insert 1 ammo
|
||||
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(eventArgs.Using, out AmmoComponent? ammoComponent))
|
||||
if (_entities.TryGetComponent(eventArgs.Using, out AmmoComponent? ammoComponent))
|
||||
{
|
||||
if (!BoltOpen)
|
||||
{
|
||||
|
||||
@@ -223,8 +223,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components
|
||||
FireHitscan(shooter, hitscan, angle);
|
||||
}
|
||||
else if (_entities.HasComponent<ProjectileComponent>(projectile) &&
|
||||
ammo != default &&
|
||||
_entities.TryGetComponent(ammo.Value, out AmmoComponent? ammoComponent))
|
||||
_entities.TryGetComponent(ammo, out AmmoComponent? ammoComponent))
|
||||
{
|
||||
FireProjectiles(shooter, projectile, ammoComponent.ProjectilesFired, ammoComponent.EvenSpreadAngle, angle, ammoComponent.Velocity, ammo.Value);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user