Remove many resolves on Content.Server

This commit is contained in:
Vera Aguilera Puerto
2021-12-08 17:04:21 +01:00
parent 420039f278
commit ba736f70df
72 changed files with 407 additions and 302 deletions

View File

@@ -19,6 +19,8 @@ namespace Content.Server.Body.Components
[ComponentReference(typeof(IGhostOnMove))]
public class BodyComponent : SharedBodyComponent, IGhostOnMove
{
[Dependency] private readonly IEntityManager _entMan = default!;
private Container _partContainer = default!;
[DataField("gibSound")] private SoundSpecifier _gibSound = new SoundCollectionSpecifier("gib");
@@ -57,9 +59,9 @@ namespace Content.Server.Body.Components
{
// Using MapPosition instead of Coordinates here prevents
// a crash within the character preview menu in the lobby
var entity = IoCManager.Resolve<IEntityManager>().SpawnEntity(preset.PartIDs[slot.Id], IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).MapPosition);
var entity = _entMan.SpawnEntity(preset.PartIDs[slot.Id], _entMan.GetComponent<TransformComponent>(Owner).MapPosition);
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out SharedBodyPartComponent? part))
if (!_entMan.TryGetComponent(entity, out SharedBodyPartComponent? part))
{
Logger.Error($"Entity {slot.Id} does not have a {nameof(SharedBodyPartComponent)} component.");
continue;
@@ -87,22 +89,22 @@ namespace Content.Server.Body.Components
{
base.Gib(gibParts);
SoundSystem.Play(Filter.Pvs(Owner), _gibSound.GetSound(), IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates, AudioHelpers.WithVariation(0.025f));
SoundSystem.Play(Filter.Pvs(Owner), _gibSound.GetSound(), _entMan.GetComponent<TransformComponent>(Owner).Coordinates, AudioHelpers.WithVariation(0.025f));
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out ContainerManagerComponent? container))
if (_entMan.TryGetComponent(Owner, out ContainerManagerComponent? container))
{
foreach (var cont in container.GetAllContainers())
{
foreach (var ent in cont.ContainedEntities)
{
cont.ForceRemove(ent);
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(ent).Coordinates = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates;
_entMan.GetComponent<TransformComponent>(ent).Coordinates = _entMan.GetComponent<TransformComponent>(Owner).Coordinates;
ent.RandomOffset(0.25f);
}
}
}
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity(Owner);
_entMan.QueueDeleteEntity(Owner);
}
}
}

View File

@@ -21,6 +21,8 @@ namespace Content.Server.Body.Components
[ComponentReference(typeof(SharedBodyPartComponent))]
public class BodyPartComponent : SharedBodyPartComponent, IAfterInteract
{
[Dependency] private readonly IEntityManager _entMan = default!;
private readonly Dictionary<int, object> _optionsCache = new();
private SharedBodyComponent? _owningBodyCache;
private int _idHash;
@@ -61,9 +63,9 @@ namespace Content.Server.Body.Components
// identical on it
foreach (var mechanismId in MechanismIds)
{
var entity = IoCManager.Resolve<IEntityManager>().SpawnEntity(mechanismId, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).MapPosition);
var entity = _entMan.SpawnEntity(mechanismId, _entMan.GetComponent<TransformComponent>(Owner).MapPosition);
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out SharedMechanismComponent? mechanism))
if (!_entMan.TryGetComponent(entity, out SharedMechanismComponent? mechanism))
{
Logger.Error($"Entity {mechanismId} does not have a {nameof(SharedMechanismComponent)} component.");
continue;
@@ -101,7 +103,7 @@ namespace Content.Server.Body.Components
_surgeonCache = null;
_owningBodyCache = null;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(eventArgs.Target.Value, out SharedBodyComponent? body))
if (_entMan.TryGetComponent(eventArgs.Target.Value, out SharedBodyComponent? body))
{
SendSlots(eventArgs, body);
}
@@ -138,8 +140,8 @@ namespace Content.Server.Body.Components
if (_optionsCache.Count > 0)
{
OpenSurgeryUI(IoCManager.Resolve<IEntityManager>().GetComponent<ActorComponent>(eventArgs.User).PlayerSession);
BodyPartSlotRequest(IoCManager.Resolve<IEntityManager>().GetComponent<ActorComponent>(eventArgs.User).PlayerSession,
OpenSurgeryUI(_entMan.GetComponent<ActorComponent>(eventArgs.User).PlayerSession);
BodyPartSlotRequest(_entMan.GetComponent<ActorComponent>(eventArgs.User).PlayerSession,
toSend);
_surgeonCache = eventArgs.User;
_owningBodyCache = body;
@@ -158,7 +160,7 @@ namespace Content.Server.Body.Components
private void ReceiveBodyPartSlot(int key)
{
if (_surgeonCache == null ||
!IoCManager.Resolve<IEntityManager>().TryGetComponent(_surgeonCache.Value, out ActorComponent? actor))
!_entMan.TryGetComponent(_surgeonCache.Value, out ActorComponent? actor))
{
return;
}

View File

@@ -13,11 +13,13 @@ namespace Content.Server.Body.Components
[ComponentReference(typeof(SharedBodyScannerComponent))]
public class BodyScannerComponent : SharedBodyScannerComponent, IActivate
{
[Dependency] private readonly IEntityManager _entMan = default!;
[ViewVariables] private BoundUserInterface? UserInterface => Owner.GetUIOrNull(BodyScannerUiKey.Key);
void IActivate.Activate(ActivateEventArgs eventArgs)
{
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(eventArgs.User, out ActorComponent? actor))
if (!_entMan.TryGetComponent(eventArgs.User, out ActorComponent? actor))
{
return;
}
@@ -29,7 +31,7 @@ namespace Content.Server.Body.Components
return;
}
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(session.AttachedEntity, out SharedBodyComponent? body))
if (_entMan.TryGetComponent(session.AttachedEntity, out SharedBodyComponent? body))
{
var state = InterfaceState(body);
UserInterface?.SetState(state);

View File

@@ -8,6 +8,8 @@ namespace Content.Server.Body.Components
[RegisterComponent]
public class InternalsComponent : Component
{
[Dependency] private readonly IEntityManager _entMan = default!;
public override string Name => "Internals";
[ViewVariables] public EntityUid GasTankEntity { get; set; }
[ViewVariables] public EntityUid BreathToolEntity { get; set; }
@@ -17,7 +19,7 @@ namespace Content.Server.Body.Components
var old = BreathToolEntity;
BreathToolEntity = default;
if (old != default && IoCManager.Resolve<IEntityManager>().TryGetComponent(old, out BreathToolComponent? breathTool) )
if (old != default && _entMan.TryGetComponent(old, out BreathToolComponent? breathTool) )
{
breathTool.DisconnectInternals();
DisconnectTank();
@@ -26,7 +28,7 @@ namespace Content.Server.Body.Components
public void ConnectBreathTool(EntityUid toolEntity)
{
if (BreathToolEntity != default && IoCManager.Resolve<IEntityManager>().TryGetComponent(BreathToolEntity, out BreathToolComponent? tool))
if (BreathToolEntity != default && _entMan.TryGetComponent(BreathToolEntity, out BreathToolComponent? tool))
{
tool.DisconnectInternals();
}
@@ -36,7 +38,7 @@ namespace Content.Server.Body.Components
public void DisconnectTank()
{
if (GasTankEntity != default && IoCManager.Resolve<IEntityManager>().TryGetComponent(GasTankEntity, out GasTankComponent? tank))
if (GasTankEntity != default && _entMan.TryGetComponent(GasTankEntity, out GasTankComponent? tank))
{
tank.DisconnectFromInternals(Owner);
}
@@ -49,7 +51,7 @@ namespace Content.Server.Body.Components
if (BreathToolEntity == default)
return false;
if (GasTankEntity != default && IoCManager.Resolve<IEntityManager>().TryGetComponent(GasTankEntity, out GasTankComponent? tank))
if (GasTankEntity != default && _entMan.TryGetComponent(GasTankEntity, out GasTankComponent? tank))
{
tank.DisconnectFromInternals(Owner);
}
@@ -62,9 +64,9 @@ namespace Content.Server.Body.Components
{
return BreathToolEntity != default &&
GasTankEntity != default &&
IoCManager.Resolve<IEntityManager>().TryGetComponent(BreathToolEntity, out BreathToolComponent? breathTool) &&
_entMan.TryGetComponent(BreathToolEntity, out BreathToolComponent? breathTool) &&
breathTool.IsFunctional &&
IoCManager.Resolve<IEntityManager>().TryGetComponent(GasTankEntity, out GasTankComponent? gasTank) &&
_entMan.TryGetComponent(GasTankEntity, out GasTankComponent? gasTank) &&
gasTank.Air != default;
}