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

@@ -9,6 +9,8 @@ namespace Content.Server.AI.Operators.Combat.Melee
{
public class SwingMeleeWeaponOperator : AiOperator
{
[Dependency] private readonly IEntityManager _entMan = default!;
private readonly float _burstTime;
private float _elapsedTime;
@@ -17,6 +19,8 @@ namespace Content.Server.AI.Operators.Combat.Melee
public SwingMeleeWeaponOperator(EntityUid owner, EntityUid target, float burstTime = 1.0f)
{
IoCManager.InjectDependencies(this);
_owner = owner;
_target = target;
_burstTime = burstTime;
@@ -29,7 +33,7 @@ namespace Content.Server.AI.Operators.Combat.Melee
return true;
}
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(_owner, out CombatModeComponent? combatModeComponent))
if (!_entMan.TryGetComponent(_owner, out CombatModeComponent? combatModeComponent))
{
return false;
}
@@ -47,7 +51,7 @@ namespace Content.Server.AI.Operators.Combat.Melee
if (!base.Shutdown(outcome))
return false;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(_owner, out CombatModeComponent? combatModeComponent))
if (_entMan.TryGetComponent(_owner, out CombatModeComponent? combatModeComponent))
{
combatModeComponent.IsInCombatMode = false;
}
@@ -62,15 +66,15 @@ namespace Content.Server.AI.Operators.Combat.Melee
return Outcome.Success;
}
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(_owner, out HandsComponent? hands) || hands.GetActiveHand == null)
if (!_entMan.TryGetComponent(_owner, out HandsComponent? hands) || hands.GetActiveHand == null)
{
return Outcome.Failed;
}
var meleeWeapon = hands.GetActiveHand.Owner;
IoCManager.Resolve<IEntityManager>().TryGetComponent(meleeWeapon, out MeleeWeaponComponent? meleeWeaponComponent);
_entMan.TryGetComponent(meleeWeapon, out MeleeWeaponComponent? meleeWeaponComponent);
if ((IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(_target).Coordinates.Position - IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(_owner).Coordinates.Position).Length >
if ((_entMan.GetComponent<TransformComponent>(_target).Coordinates.Position - _entMan.GetComponent<TransformComponent>(_owner).Coordinates.Position).Length >
meleeWeaponComponent?.Range)
{
return Outcome.Failed;
@@ -78,7 +82,7 @@ namespace Content.Server.AI.Operators.Combat.Melee
var interactionSystem = IoCManager.Resolve<IEntitySystemManager>().GetEntitySystem<InteractionSystem>();
interactionSystem.AiUseInteraction(_owner, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(_target).Coordinates, _target);
interactionSystem.AiUseInteraction(_owner, _entMan.GetComponent<TransformComponent>(_target).Coordinates, _target);
_elapsedTime += frameTime;
return Outcome.Continuing;
}

View File

@@ -8,6 +8,8 @@ namespace Content.Server.AI.Operators.Combat.Melee
{
public sealed class UnarmedCombatOperator : AiOperator
{
[Dependency] private readonly IEntityManager _entMan = default!;
private readonly float _burstTime;
private float _elapsedTime;
@@ -17,6 +19,8 @@ namespace Content.Server.AI.Operators.Combat.Melee
public UnarmedCombatOperator(EntityUid owner, EntityUid target, float burstTime = 1.0f)
{
IoCManager.InjectDependencies(this);
_owner = owner;
_target = target;
_burstTime = burstTime;
@@ -29,7 +33,7 @@ namespace Content.Server.AI.Operators.Combat.Melee
return true;
}
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(_owner, out CombatModeComponent? combatModeComponent))
if (!_entMan.TryGetComponent(_owner, out CombatModeComponent? combatModeComponent))
{
return false;
}
@@ -39,7 +43,7 @@ namespace Content.Server.AI.Operators.Combat.Melee
combatModeComponent.IsInCombatMode = true;
}
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(_owner, out UnarmedCombatComponent? unarmedCombatComponent))
if (_entMan.TryGetComponent(_owner, out UnarmedCombatComponent? unarmedCombatComponent))
{
_unarmedCombat = unarmedCombatComponent;
}
@@ -56,7 +60,7 @@ namespace Content.Server.AI.Operators.Combat.Melee
if (!base.Shutdown(outcome))
return false;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(_owner, out CombatModeComponent? combatModeComponent))
if (_entMan.TryGetComponent(_owner, out CombatModeComponent? combatModeComponent))
{
combatModeComponent.IsInCombatMode = false;
}
@@ -76,14 +80,14 @@ namespace Content.Server.AI.Operators.Combat.Melee
return Outcome.Failed;
}
if ((IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(_target).Coordinates.Position - IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(_owner).Coordinates.Position).Length >
if ((_entMan.GetComponent<TransformComponent>(_target).Coordinates.Position - _entMan.GetComponent<TransformComponent>(_owner).Coordinates.Position).Length >
_unarmedCombat.Range)
{
return Outcome.Failed;
}
var interactionSystem = IoCManager.Resolve<IEntitySystemManager>().GetEntitySystem<InteractionSystem>();
interactionSystem.AiUseInteraction(_owner, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(_target).Coordinates, _target);
interactionSystem.AiUseInteraction(_owner, _entMan.GetComponent<TransformComponent>(_target).Coordinates, _target);
_elapsedTime += frameTime;
return Outcome.Continuing;
}

View File

@@ -11,11 +11,15 @@ namespace Content.Server.AI.Operators.Inventory
/// </summary>
public class InteractWithEntityOperator : AiOperator
{
[Dependency] private readonly IEntityManager _entMan = default!;
private readonly EntityUid _owner;
private readonly EntityUid _useTarget;
public InteractWithEntityOperator(EntityUid owner, EntityUid useTarget)
{
IoCManager.InjectDependencies(this);
_owner = owner;
_useTarget = useTarget;
@@ -23,7 +27,9 @@ namespace Content.Server.AI.Operators.Inventory
public override Outcome Execute(float frameTime)
{
if (IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(_useTarget).GridID != IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(_owner).GridID)
var targetTransform = _entMan.GetComponent<TransformComponent>(_useTarget);
if (targetTransform.GridID != _entMan.GetComponent<TransformComponent>(_owner).GridID)
{
return Outcome.Failed;
}
@@ -33,14 +39,14 @@ namespace Content.Server.AI.Operators.Inventory
return Outcome.Failed;
}
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(_owner, out CombatModeComponent? combatModeComponent))
if (_entMan.TryGetComponent(_owner, out CombatModeComponent? combatModeComponent))
{
combatModeComponent.IsInCombatMode = false;
}
// Click on da thing
var interactionSystem = IoCManager.Resolve<IEntitySystemManager>().GetEntitySystem<InteractionSystem>();
interactionSystem.AiUseInteraction(_owner, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(_useTarget).Coordinates, _useTarget);
var interactionSystem = EntitySystem.Get<InteractionSystem>();
interactionSystem.AiUseInteraction(_owner, targetTransform.Coordinates, _useTarget);
return Outcome.Success;
}

View File

@@ -22,15 +22,17 @@ namespace Content.Server.AI.Operators.Inventory
public override Outcome Execute(float frameTime)
{
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(_target) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_target).EntityLifeStage) >= EntityLifeStage.Deleted ||
!IoCManager.Resolve<IEntityManager>().HasComponent<ItemComponent>(_target) ||
_target.IsInContainer() ||
!_owner.InRangeUnobstructed(_target, popup: true))
var entMan = IoCManager.Resolve<IEntityManager>();
if (entMan.Deleted(_target)
|| !entMan.HasComponent<ItemComponent>(_target)
|| _target.IsInContainer()
|| !_owner.InRangeUnobstructed(_target, popup: true))
{
return Outcome.Failed;
}
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(_owner, out HandsComponent? handsComponent))
if (!entMan.TryGetComponent(_owner, out HandsComponent? handsComponent))
{
return Outcome.Failed;
}
@@ -56,7 +58,7 @@ namespace Content.Server.AI.Operators.Inventory
return Outcome.Failed;
}
var interactionSystem = IoCManager.Resolve<IEntitySystemManager>().GetEntitySystem<InteractionSystem>();
var interactionSystem = EntitySystem.Get<InteractionSystem>();
interactionSystem.InteractHand(_owner, _target);
return Outcome.Success;
}

View File

@@ -21,13 +21,15 @@ namespace Content.Server.AI.Operators.Inventory
public override Outcome Execute(float frameTime)
{
var entMan = IoCManager.Resolve<IEntityManager>();
// TODO: Also have this check storage a la backpack etc.
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(_owner, out HandsComponent? handsComponent))
if (!entMan.TryGetComponent(_owner, out HandsComponent? handsComponent))
{
return Outcome.Failed;
}
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(_target, out ItemComponent? itemComponent))
if (!entMan.TryGetComponent(_target, out ItemComponent? itemComponent))
{
return Outcome.Failed;
}

View File

@@ -28,14 +28,15 @@ namespace Content.Server.AI.Pathfinding.Accessible
public static ReachableArgs GetArgs(EntityUid entity)
{
var collisionMask = 0;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out IPhysBody? physics))
var entMan = IoCManager.Resolve<IEntityManager>();
if (entMan.TryGetComponent(entity, out IPhysBody? physics))
{
collisionMask = physics.CollisionMask;
}
var accessSystem = EntitySystem.Get<AccessReaderSystem>();
var access = accessSystem.FindAccessTags(entity);
var visionRadius = IoCManager.Resolve<IEntityManager>().GetComponent<AiControllerComponent>(entity).VisionRadius;
var visionRadius = entMan.GetComponent<AiControllerComponent>(entity).VisionRadius;
return new ReachableArgs(visionRadius, access, collisionMask);
}

View File

@@ -260,14 +260,15 @@ namespace Content.Server.AI.Pathfinding
/// TODO: Could probably optimise this slightly more.
public void AddEntity(EntityUid entity, IPhysBody physicsComponent)
{
var entMan = IoCManager.Resolve<IEntityManager>();
// If we're a door
if (IoCManager.Resolve<IEntityManager>().HasComponent<AirlockComponent>(entity) || IoCManager.Resolve<IEntityManager>().HasComponent<ServerDoorComponent>(entity))
if (entMan.HasComponent<AirlockComponent>(entity) || entMan.HasComponent<ServerDoorComponent>(entity))
{
// If we need access to traverse this then add to readers, otherwise no point adding it (except for maybe tile costs in future)
// TODO: Check for powered I think (also need an event for when it's depowered
// AccessReader calls this whenever opening / closing but it can seem to get called multiple times
// Which may or may not be intended?
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out AccessReader? accessReader) && !_accessReaders.ContainsKey(entity))
if (entMan.TryGetComponent(entity, out AccessReader? accessReader) && !_accessReaders.ContainsKey(entity))
{
_accessReaders.Add(entity, accessReader);
ParentChunk.Dirty();

View File

@@ -19,8 +19,9 @@ namespace Content.Server.AI.Utility.Actions.Test
public override void SetupOperators(Blackboard context)
{
var currentPosition = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates;
var nextPosition = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates.Offset(new Vector2(10.0f, 0.0f));
var entMan = IoCManager.Resolve<IEntityManager>();
var currentPosition = entMan.GetComponent<TransformComponent>(Owner).Coordinates;
var nextPosition = entMan.GetComponent<TransformComponent>(Owner).Coordinates.Offset(new Vector2(10.0f, 0.0f));
var originalPosOp = new MoveToGridOperator(Owner, currentPosition, 0.25f);
var newPosOp = new MoveToGridOperator(Owner, nextPosition, 0.25f);

View File

@@ -12,7 +12,7 @@ namespace Content.Server.AI.Utility.Considerations.Combat
{
var target = context.GetState<TargetEntityState>().GetValue();
if (target == null || !IoCManager.Resolve<IEntityManager>().EntityExists(target) || !IoCManager.Resolve<IEntityManager>().TryGetComponent(target, out DamageableComponent? damageableComponent))
if (target == null || !IoCManager.Resolve<IEntityManager>().TryGetComponent(target, out DamageableComponent? damageableComponent))
{
return 0.0f;
}

View File

@@ -14,7 +14,7 @@ namespace Content.Server.AI.Utility.Considerations.Nutrition.Drink
var target = context.GetState<TargetEntityState>().GetValue();
if (target == null
|| (!IoCManager.Resolve<IEntityManager>().EntityExists(target) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(target).EntityLifeStage) >= EntityLifeStage.Deleted
|| IoCManager.Resolve<IEntityManager>().Deleted(target)
|| !EntitySystem.Get<SolutionContainerSystem>().TryGetSolution(target, DrinkComponent.DefaultSolutionName, out var drink))
{
return 0.0f;

View File

@@ -13,8 +13,7 @@ namespace Content.Server.AI.Utility.Considerations.Nutrition.Food
{
var target = context.GetState<TargetEntityState>().GetValue();
if (target == null || !IoCManager.Resolve<IEntityManager>().EntityExists(target)
|| !IoCManager.Resolve<IEntityManager>().TryGetComponent<FoodComponent?>(target, out var foodComp)
if (target == null || !IoCManager.Resolve<IEntityManager>().TryGetComponent<FoodComponent?>(target, out var foodComp)
|| !EntitySystem.Get<SolutionContainerSystem>().TryGetSolution(target, foodComp.SolutionName, out var food))
{
return 0.0f;

View File

@@ -12,8 +12,9 @@ namespace Content.Server.AI.Utils
// Should this be in robust or something? Fark it
public static IEnumerable<EntityUid> GetNearestEntities(EntityCoordinates grid, Type component, float range)
{
var entMan = IoCManager.Resolve<IEntityManager>();
var inRange = GetEntitiesInRange(grid, component, range).ToList();
var sortedInRange = inRange.OrderBy(o => (IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(o).Coordinates.Position - grid.Position).Length);
var sortedInRange = inRange.OrderBy(o => (entMan.GetComponent<TransformComponent>(o).Coordinates.Position - grid.Position).Length);
return sortedInRange;
}
@@ -23,12 +24,14 @@ namespace Content.Server.AI.Utils
var entityManager = IoCManager.Resolve<IEntityManager>();
foreach (var entity in entityManager.GetAllComponents(component).Select(c => c.Owner))
{
if (IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity).Coordinates.GetGridId(entityManager) != grid.GetGridId(entityManager))
var transform = entityManager.GetComponent<TransformComponent>(entity);
if (transform.Coordinates.GetGridId(entityManager) != grid.GetGridId(entityManager))
{
continue;
}
if ((IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity).Coordinates.Position - grid.Position).Length <= range)
if ((transform.Coordinates.Position - grid.Position).Length <= range)
{
yield return entity;
}

View File

@@ -19,17 +19,17 @@ namespace Content.Server.AI.WorldState.States.Clothing
{
var result = new List<EntityUid>();
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out AiControllerComponent? controller))
var entMan = IoCManager.Resolve<IEntityManager>();
if (!entMan.TryGetComponent(Owner, out AiControllerComponent? controller))
{
return result;
}
foreach (var entity in Visibility
.GetNearestEntities(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates, typeof(ClothingComponent), controller.VisionRadius))
foreach (var entity in Visibility.GetNearestEntities(entMan.GetComponent<TransformComponent>(Owner).Coordinates, typeof(ClothingComponent), controller.VisionRadius))
{
if (entity.TryGetContainer(out var container))
{
if (!IoCManager.Resolve<IEntityManager>().HasComponent<EntityStorageComponent>(container.Owner))
if (!entMan.HasComponent<EntityStorageComponent>(container.Owner))
{
continue;
}

View File

@@ -16,14 +16,14 @@ namespace Content.Server.AI.WorldState.States.Combat.Nearby
protected override List<EntityUid> GetTrueValue()
{
var result = new List<EntityUid>();
var entMan = IoCManager.Resolve<IEntityManager>();
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out AiControllerComponent? controller))
if (!entMan.TryGetComponent(Owner, out AiControllerComponent? controller))
{
return result;
}
foreach (var entity in Visibility
.GetNearestEntities(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates, typeof(MeleeWeaponComponent), controller.VisionRadius))
foreach (var entity in Visibility.GetNearestEntities(entMan.GetComponent<TransformComponent>(Owner).Coordinates, typeof(MeleeWeaponComponent), controller.VisionRadius))
{
result.Add(entity);
}

View File

@@ -13,11 +13,12 @@ namespace Content.Server.AI.WorldState.States.Inventory
public override IEnumerable<EntityUid> GetValue()
{
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out HandsComponent? handsComponent))
var entMan = IoCManager.Resolve<IEntityManager>();
if (entMan.TryGetComponent(Owner, out HandsComponent? handsComponent))
{
foreach (var item in handsComponent.GetAllHeldItems())
{
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(item.Owner) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(item.Owner).EntityLifeStage) >= EntityLifeStage.Deleted)
if (entMan.Deleted(item.Owner))
continue;
yield return item.Owner;

View File

@@ -16,13 +16,14 @@ namespace Content.Server.AI.WorldState.States.Mobs
protected override List<EntityUid> GetTrueValue()
{
var result = new List<EntityUid>();
var entMan = IoCManager.Resolve<IEntityManager>();
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out AiControllerComponent? controller))
if (!entMan.TryGetComponent(Owner, out AiControllerComponent? controller))
{
return result;
}
foreach (var entity in Visibility.GetEntitiesInRange(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates, typeof(SharedBodyComponent), controller.VisionRadius))
foreach (var entity in Visibility.GetEntitiesInRange(entMan.GetComponent<TransformComponent>(Owner).Coordinates, typeof(SharedBodyComponent), controller.VisionRadius))
{
if (entity == Owner) continue;
result.Add(entity);

View File

@@ -17,13 +17,14 @@ namespace Content.Server.AI.WorldState.States.Mobs
{
var result = new List<EntityUid>();
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out AiControllerComponent? controller))
var entMan = IoCManager.Resolve<IEntityManager>();
if (!entMan.TryGetComponent(Owner, out AiControllerComponent? controller))
{
return result;
}
var nearbyPlayers = Filter.Empty()
.AddInRange(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).MapPosition, controller.VisionRadius)
.AddInRange(entMan.GetComponent<TransformComponent>(Owner).MapPosition, controller.VisionRadius)
.Recipients;
foreach (var player in nearbyPlayers)
@@ -33,7 +34,7 @@ namespace Content.Server.AI.WorldState.States.Mobs
continue;
}
if (player.AttachedEntity != Owner && IoCManager.Resolve<IEntityManager>().HasComponent<DamageableComponent>(playerEntity))
if (player.AttachedEntity != Owner && entMan.HasComponent<DamageableComponent>(playerEntity))
{
result.Add(playerEntity);
}

View File

@@ -18,18 +18,19 @@ namespace Content.Server.AI.WorldState.States.Nutrition
protected override List<EntityUid> GetTrueValue()
{
var result = new List<EntityUid>();
var entMan = IoCManager.Resolve<IEntityManager>();
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out AiControllerComponent? controller))
if (!entMan.TryGetComponent(Owner, out AiControllerComponent? controller))
{
return result;
}
foreach (var entity in Visibility
.GetNearestEntities(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates, typeof(DrinkComponent), controller.VisionRadius))
.GetNearestEntities(entMan.GetComponent<TransformComponent>(Owner).Coordinates, typeof(DrinkComponent), controller.VisionRadius))
{
if (entity.TryGetContainer(out var container))
{
if (!IoCManager.Resolve<IEntityManager>().HasComponent<EntityStorageComponent>(container.Owner))
if (!entMan.HasComponent<EntityStorageComponent>(container.Owner))
{
continue;
}

View File

@@ -18,18 +18,19 @@ namespace Content.Server.AI.WorldState.States.Nutrition
protected override List<EntityUid> GetTrueValue()
{
var result = new List<EntityUid>();
var entMan = IoCManager.Resolve<IEntityManager>();
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out AiControllerComponent? controller))
if (!entMan.TryGetComponent(Owner, out AiControllerComponent? controller))
{
return result;
}
foreach (var entity in Visibility
.GetNearestEntities(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates, typeof(FoodComponent), controller.VisionRadius))
.GetNearestEntities(entMan.GetComponent<TransformComponent>(Owner).Coordinates, typeof(FoodComponent), controller.VisionRadius))
{
if (entity.TryGetContainer(out var container))
{
if (!IoCManager.Resolve<IEntityManager>().HasComponent<EntityStorageComponent>(container.Owner))
if (!entMan.HasComponent<EntityStorageComponent>(container.Owner))
{
continue;
}

View File

@@ -27,8 +27,9 @@ namespace Content.Server.AME
[ViewVariables]
private AMEControllerComponent? _masterController;
[Dependency]
private readonly IRobustRandom _random = default!;
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly IEntityManager _entMan = default!;
public AMEControllerComponent? MasterController => _masterController;
@@ -46,10 +47,10 @@ namespace Content.Server.AME
foreach (var node in groupNodes)
{
var nodeOwner = node.Owner;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(nodeOwner, out AMEShieldComponent? shield))
if (_entMan.TryGetComponent(nodeOwner, out AMEShieldComponent? shield))
{
var nodeNeighbors = grid.GetCellsInSquareArea(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(nodeOwner).Coordinates, 1)
.Where(entity => entity != nodeOwner && IoCManager.Resolve<IEntityManager>().HasComponent<AMEShieldComponent>(entity));
var nodeNeighbors = grid.GetCellsInSquareArea(_entMan.GetComponent<TransformComponent>(nodeOwner).Coordinates, 1)
.Where(entity => entity != nodeOwner && _entMan.HasComponent<AMEShieldComponent>(entity));
if (nodeNeighbors.Count() >= 8)
{
@@ -68,7 +69,7 @@ namespace Content.Server.AME
foreach (var node in groupNodes)
{
var nodeOwner = node.Owner;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(nodeOwner, out AMEControllerComponent? controller))
if (_entMan.TryGetComponent(nodeOwner, out AMEControllerComponent? controller))
{
if (_masterController == null)
{

View File

@@ -35,7 +35,7 @@ namespace Content.Server.AME.Components
async Task<bool> IInteractUsing.InteractUsing(InteractUsingEventArgs args)
{
if (!IoCManager.Resolve<IEntityManager>().HasComponent<HandsComponent>(args.User))
if (!_serverEntityManager.HasComponent<HandsComponent>(args.User))
{
Owner.PopupMessage(args.User, Loc.GetString("ame-part-component-interact-using-no-hands"));
return false;
@@ -58,7 +58,7 @@ namespace Content.Server.AME.Components
SoundSystem.Play(Filter.Pvs(Owner), _unwrapSound.GetSound(), Owner);
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity(Owner);
_serverEntityManager.QueueDeleteEntity(Owner);
return true;
}

View File

@@ -22,8 +22,9 @@ namespace Content.Server.AME.Components
protected override void Initialize()
{
base.Initialize();
IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out _appearance);
IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out _pointLight);
var entMan = IoCManager.Resolve<IEntityManager>();
entMan.TryGetComponent(Owner, out _appearance);
entMan.TryGetComponent(Owner, out _pointLight);
}
public void SetCore()

View File

@@ -13,14 +13,15 @@ namespace Content.Server.Actions.Actions
{
public void DoTargetEntityAction(TargetEntityItemActionEventArgs args)
{
args.Performer.PopupMessageEveryone(IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(args.Item).EntityName + ": Clicked " +
IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(args.Target).EntityName);
var entMan = IoCManager.Resolve<IEntityManager>();
args.Performer.PopupMessageEveryone(entMan.GetComponent<MetaDataComponent>(args.Item).EntityName + ": Clicked " +
entMan.GetComponent<MetaDataComponent>(args.Target).EntityName);
}
public void DoTargetEntityAction(TargetEntityActionEventArgs args)
{
args.Performer.PopupMessageEveryone("Clicked " +
IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(args.Target).EntityName);
args.Performer.PopupMessageEveryone("Clicked " + IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(args.Target).EntityName);
}
}
}

View File

@@ -17,13 +17,15 @@ namespace Content.Server.Actions.Actions
public bool DoToggleAction(ToggleItemActionEventArgs args)
{
var entMan = IoCManager.Resolve<IEntityManager>();
if (args.ToggledOn)
{
args.Performer.PopupMessageEveryone(IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(args.Item).EntityName + ": " + MessageOn);
args.Performer.PopupMessageEveryone(entMan.GetComponent<MetaDataComponent>(args.Item).EntityName + ": " + MessageOn);
}
else
{
args.Performer.PopupMessageEveryone(IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(args.Item).EntityName + ": " +MessageOff);
args.Performer.PopupMessageEveryone(entMan.GetComponent<MetaDataComponent>(args.Item).EntityName + ": " +MessageOff);
}
return true;

View File

@@ -47,17 +47,18 @@ namespace Content.Server.Actions.Actions
public void DoTargetEntityAction(TargetEntityActionEventArgs args)
{
var disarmedActs = IoCManager.Resolve<IEntityManager>().GetComponents<IDisarmedAct>(args.Target).ToArray();
var entMan = IoCManager.Resolve<IEntityManager>();
var disarmedActs = entMan.GetComponents<IDisarmedAct>(args.Target).ToArray();
if (!args.Performer.InRangeUnobstructed(args.Target)) return;
if (disarmedActs.Length == 0)
{
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(args.Performer, out ActorComponent? actor))
if (entMan.TryGetComponent(args.Performer, out ActorComponent? actor))
{
// Fall back to a normal interaction with the entity
var player = actor.PlayerSession;
var coordinates = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(args.Target).Coordinates;
var coordinates = entMan.GetComponent<TransformComponent>(args.Target).Coordinates;
var target = args.Target;
EntitySystem.Get<InteractionSystem>().HandleUseInteraction(player, coordinates, target);
return;
@@ -66,13 +67,13 @@ namespace Content.Server.Actions.Actions
return;
}
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent<SharedActionsComponent?>(args.Performer, out var actions)) return;
if (!entMan.TryGetComponent<SharedActionsComponent?>(args.Performer, out var actions)) return;
if (args.Target == args.Performer || !EntitySystem.Get<ActionBlockerSystem>().CanAttack(args.Performer)) return;
var random = IoCManager.Resolve<IRobustRandom>();
var system = EntitySystem.Get<MeleeWeaponSystem>();
var diff = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(args.Target).MapPosition.Position - IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(args.Performer).MapPosition.Position;
var diff = entMan.GetComponent<TransformComponent>(args.Target).MapPosition.Position - entMan.GetComponent<TransformComponent>(args.Performer).MapPosition.Position;
var angle = Angle.FromWorldVec(diff);
actions.Cooldown(ActionType.Disarm, Cooldowns.SecondsFromNow(_cooldown));
@@ -82,10 +83,10 @@ namespace Content.Server.Actions.Actions
SoundSystem.Play(Filter.Pvs(args.Performer), PunchMissSound.GetSound(), args.Performer, AudioHelpers.WithVariation(0.025f));
args.Performer.PopupMessageOtherClients(Loc.GetString("disarm-action-popup-message-other-clients",
("performerName", Name: IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(args.Performer).EntityName),
("targetName", Name: IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(args.Target).EntityName)));
("performerName", Name: entMan.GetComponent<MetaDataComponent>(args.Performer).EntityName),
("targetName", Name: entMan.GetComponent<MetaDataComponent>(args.Target).EntityName)));
args.Performer.PopupMessageCursor(Loc.GetString("disarm-action-popup-message-cursor",
("targetName", Name: IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(args.Target).EntityName)));
("targetName", Name: entMan.GetComponent<MetaDataComponent>(args.Target).EntityName)));
system.SendLunge(angle, args.Performer);
return;
}
@@ -94,7 +95,7 @@ namespace Content.Server.Actions.Actions
var eventArgs = new DisarmedActEvent() { Target = args.Target, Source = args.Performer, PushProbability = _pushProb };
IoCManager.Resolve<IEntityManager>().EventBus.RaiseLocalEvent(args.Target, eventArgs);
entMan.EventBus.RaiseLocalEvent(args.Target, eventArgs);
EntitySystem.Get<AdminLogSystem>().Add(LogType.DisarmedAction, LogImpact.Low, $"{args.Performer:performer} used disarm on {args.Target:target}");
@@ -112,7 +113,7 @@ namespace Content.Server.Actions.Actions
return;
}
SoundSystem.Play(Filter.Pvs(args.Performer), DisarmSuccessSound.GetSound(), IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(args.Performer).Coordinates, AudioHelpers.WithVariation(0.025f));
SoundSystem.Play(Filter.Pvs(args.Performer), DisarmSuccessSound.GetSound(), entMan.GetComponent<TransformComponent>(args.Performer).Coordinates, AudioHelpers.WithVariation(0.025f));
}
}
}

View File

@@ -23,7 +23,9 @@ namespace Content.Server.Actions.Actions
public void DoInstantAction(InstantActionEventArgs args)
{
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent<SharedActionsComponent?>(args.Performer, out var actions)) return;
var entMan = IoCManager.Resolve<IEntityManager>();
if (!entMan.TryGetComponent<SharedActionsComponent?>(args.Performer, out var actions)) return;
// find all IGhostBooAffected nearby and do boo on them
var ents = IoCManager.Resolve<IEntityLookup>().GetEntitiesInRange(args.Performer, _radius);
@@ -32,7 +34,7 @@ namespace Content.Server.Actions.Actions
foreach (var ent in ents)
{
var ghostBoo = new GhostBooEvent();
IoCManager.Resolve<IEntityManager>().EventBus.RaiseLocalEvent(ent, ghostBoo);
entMan.EventBus.RaiseLocalEvent(ent, ghostBoo);
if (ghostBoo.Handled)
booCounter++;

View File

@@ -23,8 +23,10 @@ namespace Content.Server.Actions.Actions
public void DoInstantAction(InstantActionEventArgs args)
{
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent<ServerUserInterfaceComponent?>(args.Performer, out var serverUi)) return;
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent<ActorComponent?>(args.Performer, out var actor)) return;
var entMan = IoCManager.Resolve<IEntityManager>();
if (!entMan.TryGetComponent<ServerUserInterfaceComponent?>(args.Performer, out var serverUi)) return;
if (!entMan.TryGetComponent<ActorComponent?>(args.Performer, out var actor)) return;
if (!serverUi.TryGetBoundUserInterface(InstrumentUiKey.Key,out var bui)) return;
bui.Toggle(actor.PlayerSession);

View File

@@ -26,6 +26,7 @@ namespace Content.Server.Actions.Actions
private const float Volume = 4f;
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly IEntityManager _entMan = default!;
[DataField("male", required: true)] private SoundSpecifier _male = default!;
[DataField("female", required: true)] private SoundSpecifier _female = default!;
@@ -42,8 +43,8 @@ namespace Content.Server.Actions.Actions
public void DoInstantAction(InstantActionEventArgs args)
{
if (!EntitySystem.Get<ActionBlockerSystem>().CanSpeak(args.Performer)) return;
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent<HumanoidAppearanceComponent?>(args.Performer, out var humanoid)) return;
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent<SharedActionsComponent?>(args.Performer, out var actions)) return;
if (!_entMan.TryGetComponent<HumanoidAppearanceComponent?>(args.Performer, out var humanoid)) return;
if (!_entMan.TryGetComponent<SharedActionsComponent?>(args.Performer, out var actions)) return;
if (_random.Prob(.01f))
{

View File

@@ -34,9 +34,11 @@ namespace Content.Server.Actions.Spells
public void DoInstantAction(InstantActionEventArgs args)
{
var entMan = IoCManager.Resolve<IEntityManager>();
var caster = args.Performer;
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(caster, out HandsComponent? handsComponent))
if (!entMan.TryGetComponent(caster, out HandsComponent? handsComponent))
{
caster.PopupMessage(Loc.GetString("spell-fail-no-hands"));
return;
@@ -52,12 +54,12 @@ namespace Content.Server.Actions.Spells
}
// TODO: Look this is shitty and ideally a test would do it
var spawnedProto = IoCManager.Resolve<IEntityManager>().SpawnEntity(ItemProto, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(caster).MapPosition);
var spawnedProto = entMan.SpawnEntity(ItemProto, entMan.GetComponent<TransformComponent>(caster).MapPosition);
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(spawnedProto, out ItemComponent? itemComponent))
if (!entMan.TryGetComponent(spawnedProto, out ItemComponent? itemComponent))
{
Logger.Error($"Tried to use {nameof(GiveItemSpell)} but prototype has no {nameof(ItemComponent)}?");
IoCManager.Resolve<IEntityManager>().DeleteEntity(spawnedProto);
entMan.DeleteEntity(spawnedProto);
return;
}

View File

@@ -42,7 +42,7 @@ namespace Content.Server.Administration.Commands
var count = 0;
foreach (var entity in entitiesWithAllComponents)
{
IoCManager.Resolve<IEntityManager>().DeleteEntity(entity);
entityManager.DeleteEntity(entity);
count += 1;
}

View File

@@ -23,12 +23,12 @@ namespace Content.Server.Administration.Commands
var id = args[0].ToLower();
var entityManager = IoCManager.Resolve<IEntityManager>();
var entities = entityManager.GetEntities().Where(e => IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(e).EntityPrototype?.ID.ToLower() == id);
var entities = entityManager.GetEntities().Where(e => entityManager.GetComponent<MetaDataComponent>(e).EntityPrototype?.ID.ToLower() == id);
var i = 0;
foreach (var entity in entities)
{
IoCManager.Resolve<IEntityManager>().DeleteEntity(entity);
entityManager.DeleteEntity(entity);
i++;
}

View File

@@ -34,7 +34,7 @@ namespace Content.Server.Administration.Commands
return;
}
IoCManager.Resolve<IEntityManager>().DeleteEntity(id);
entityManager.DeleteEntity(id);
shell.WriteLine($"Deleted entity with id {id}.");
}
}

View File

@@ -223,7 +223,7 @@ namespace Content.Server.Arcade.Components
public void ProcessWin()
{
var entityManager = IoCManager.Resolve<IEntityManager>();
entityManager.SpawnEntity(_random.Pick(_possibleRewards), IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).MapPosition);
entityManager.SpawnEntity(_random.Pick(_possibleRewards), entityManager.GetComponent<TransformComponent>(Owner).MapPosition);
}
/// <summary>

View File

@@ -24,6 +24,8 @@ namespace Content.Server.Atmos.Commands
GridId gridId;
Gas? gas = null;
var entMan = IoCManager.Resolve<IEntityManager>();
switch (args.Length)
{
case 0:
@@ -40,7 +42,7 @@ namespace Content.Server.Atmos.Commands
return;
}
gridId = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(playerEntity).GridID;
gridId = entMan.GetComponent<TransformComponent>(playerEntity).GridID;
if (gridId == GridId.Invalid)
{
@@ -67,7 +69,7 @@ namespace Content.Server.Atmos.Commands
return;
}
gridId = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(playerEntity).GridID;
gridId = entMan.GetComponent<TransformComponent>(playerEntity).GridID;
if (gridId == GridId.Invalid)
{

View File

@@ -10,6 +10,8 @@ namespace Content.Server.Atmos.Components
[RegisterComponent]
public sealed class AtmosPlaqueComponent : Component, IMapInit
{
[Dependency] private readonly IEntityManager _entMan = default!;
public override string Name => "AtmosPlaque";
[DataField("plaqueType")]
@@ -55,6 +57,8 @@ namespace Content.Server.Atmos.Components
return;
}
var metaData = _entMan.GetComponent<MetaDataComponent>(Owner);
var val = _type switch
{
PlaqueType.Zumos =>
@@ -68,7 +72,8 @@ namespace Content.Server.Atmos.Components
PlaqueType.Unset => "Uhm",
_ => "Uhm",
};
IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner).EntityDescription = val;
metaData.EntityDescription = val;
var val1 = _type switch
{
@@ -83,9 +88,10 @@ namespace Content.Server.Atmos.Components
PlaqueType.Unset => "Uhm",
_ => "Uhm",
};
IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner).EntityName = val1;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out AppearanceComponent? appearance))
metaData.EntityName = val1;
if (_entMan.TryGetComponent(Owner, out AppearanceComponent? appearance))
{
var state = _type == PlaqueType.Zumos ? "zumosplaque" : "atmosplaque";

View File

@@ -34,6 +34,8 @@ namespace Content.Server.Atmos.Components
public class GasTankComponent : Component, IExamine, IGasMixtureHolder, IUse, IDropped, IActivate
#pragma warning restore 618
{
[Dependency] private readonly IEntityManager _entMan = default!;
public override string Name => "GasTank";
private const float MaxExplosionRange = 14f;
@@ -155,14 +157,14 @@ namespace Content.Server.Atmos.Components
bool IUse.UseEntity(UseEntityEventArgs eventArgs)
{
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(eventArgs.User, out ActorComponent? actor)) return false;
if (!_entMan.TryGetComponent(eventArgs.User, out ActorComponent? actor)) return false;
OpenInterface(actor.PlayerSession);
return true;
}
void IActivate.Activate(ActivateEventArgs eventArgs)
{
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(eventArgs.User, out ActorComponent? actor)) return;
if (!_entMan.TryGetComponent(eventArgs.User, out ActorComponent? actor)) return;
OpenInterface(actor.PlayerSession);
}
@@ -230,10 +232,10 @@ namespace Content.Server.Atmos.Components
private InternalsComponent? GetInternalsComponent(EntityUid? owner = null)
{
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(Owner) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner).EntityLifeStage) >= EntityLifeStage.Deleted) return null;
if (owner != null) return IoCManager.Resolve<IEntityManager>().GetComponentOrNull<InternalsComponent>(owner.Value);
if ((!_entMan.EntityExists(Owner) ? EntityLifeStage.Deleted : _entMan.GetComponent<MetaDataComponent>(Owner).EntityLifeStage) >= EntityLifeStage.Deleted) return null;
if (owner != null) return _entMan.GetComponentOrNull<InternalsComponent>(owner.Value);
return Owner.TryGetContainer(out var container)
? IoCManager.Resolve<IEntityManager>().GetComponentOrNull<InternalsComponent>(container.Owner)
? _entMan.GetComponentOrNull<InternalsComponent>(container.Owner)
: null;
}
@@ -271,7 +273,7 @@ namespace Content.Server.Atmos.Components
EntitySystem.Get<ExplosionSystem>().SpawnExplosion(Owner, (int) (range * 0.25f), (int) (range * 0.5f), (int) (range * 1.5f), 1);
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity(Owner);
_entMan.QueueDeleteEntity(Owner);
return;
}
@@ -279,13 +281,13 @@ namespace Content.Server.Atmos.Components
{
if (_integrity <= 0)
{
var environment = atmosphereSystem.GetTileMixture(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates, true);
var environment = atmosphereSystem.GetTileMixture(_entMan.GetComponent<TransformComponent>(Owner).Coordinates, true);
if(environment != null)
atmosphereSystem.Merge(environment, Air);
SoundSystem.Play(Filter.Pvs(Owner), _ruptureSound.GetSound(), IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates, AudioHelpers.WithVariation(0.125f));
SoundSystem.Play(Filter.Pvs(Owner), _ruptureSound.GetSound(), _entMan.GetComponent<TransformComponent>(Owner).Coordinates, AudioHelpers.WithVariation(0.125f));
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity(Owner);
_entMan.QueueDeleteEntity(Owner);
return;
}
@@ -297,7 +299,7 @@ namespace Content.Server.Atmos.Components
{
if (_integrity <= 0)
{
var environment = atmosphereSystem.GetTileMixture(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates, true);
var environment = atmosphereSystem.GetTileMixture(_entMan.GetComponent<TransformComponent>(Owner).Coordinates, true);
if (environment == null)
return;

View File

@@ -18,6 +18,7 @@ namespace Content.Server.Atmos.Components
public class MovedByPressureComponent : Component
{
[Dependency] private readonly IRobustRandom _robustRandom = default!;
[Dependency] private readonly IEntityManager _entMan = default!;
public override string Name => "MovedByPressure";
@@ -42,12 +43,12 @@ namespace Content.Server.Atmos.Components
public void ExperiencePressureDifference(int cycle, float pressureDifference, AtmosDirection direction,
float pressureResistanceProbDelta, EntityCoordinates throwTarget)
{
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out PhysicsComponent? physics))
if (!_entMan.TryGetComponent(Owner, out PhysicsComponent? physics))
return;
// TODO ATMOS stuns?
var transform = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(physics.Owner);
var transform = _entMan.GetComponent<TransformComponent>(physics.Owner);
var maxForce = MathF.Sqrt(pressureDifference) * 2.25f;
var moveProb = 100f;
@@ -61,7 +62,7 @@ namespace Content.Server.Atmos.Components
&& (maxForce >= (MoveResist * MoveForcePushRatio)))
|| (physics.BodyType == BodyType.Static && (maxForce >= (MoveResist * MoveForceForcePushRatio))))
{
if (IoCManager.Resolve<IEntityManager>().HasComponent<MobStateComponent>(physics.Owner))
if (_entMan.HasComponent<MobStateComponent>(physics.Owner))
{
physics.BodyStatus = BodyStatus.InAir;
@@ -72,10 +73,10 @@ namespace Content.Server.Atmos.Components
Owner.SpawnTimer(2000, () =>
{
if (Deleted || !IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out PhysicsComponent? physicsComponent)) return;
if (Deleted || !_entMan.TryGetComponent(Owner, out PhysicsComponent? physicsComponent)) return;
// Uhh if you get race conditions good luck buddy.
if (IoCManager.Resolve<IEntityManager>().HasComponent<MobStateComponent>(physicsComponent.Owner))
if (_entMan.HasComponent<MobStateComponent>(physicsComponent.Owner))
{
physicsComponent.BodyStatus = BodyStatus.OnGround;
}
@@ -118,7 +119,7 @@ namespace Content.Server.Atmos.Components
public static bool IsMovedByPressure(this EntityUid entity, [NotNullWhen(true)] out MovedByPressureComponent? moved)
{
return IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out moved) &&
return _entMan.TryGetComponent(entity, out moved) &&
moved.Enabled;
}
}

View File

@@ -134,17 +134,19 @@ namespace Content.Server.Atmos.EntitySystems
if (session.AttachedEntity is not {Valid: true} entity)
continue;
var worldBounds = Box2.CenteredAround(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity).WorldPosition,
var transform = EntityManager.GetComponent<TransformComponent>(entity);
var worldBounds = Box2.CenteredAround(transform.WorldPosition,
new Vector2(LocalViewRange, LocalViewRange));
foreach (var grid in _mapManager.FindGridsIntersecting(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity).MapID, worldBounds))
foreach (var grid in _mapManager.FindGridsIntersecting(transform.MapID, worldBounds))
{
if (!EntityManager.EntityExists(grid.GridEntityId))
continue;
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent<GridAtmosphereComponent?>(grid.GridEntityId, out var gam)) continue;
if (!EntityManager.TryGetComponent<GridAtmosphereComponent?>(grid.GridEntityId, out var gam)) continue;
var entityTile = grid.GetTileRef(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity).Coordinates).GridIndices;
var entityTile = grid.GetTileRef(transform.Coordinates).GridIndices;
var baseTile = new Vector2i(entityTile.X - (LocalViewRange / 2), entityTile.Y - (LocalViewRange / 2));
var debugOverlayContent = new AtmosDebugOverlayData[LocalViewRange * LocalViewRange];

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;
}

View File

@@ -21,6 +21,8 @@ namespace Content.Server.Body.Surgery
[ComponentReference(typeof(ISurgeryData))]
public class BiologicalSurgeryDataComponent : Component, ISurgeryData
{
[Dependency] private readonly IEntityManager _entMan = default!;
public override string Name => "BiologicalSurgeryData";
private readonly HashSet<SharedMechanismComponent> _disconnectedOrgans = new();
@@ -31,7 +33,7 @@ namespace Content.Server.Body.Surgery
private bool VesselsClamped { get; set; }
public SharedBodyPartComponent? Parent => IoCManager.Resolve<IEntityManager>().GetComponentOrNull<SharedBodyPartComponent>(Owner);
public SharedBodyPartComponent? Parent => _entMan.GetComponentOrNull<SharedBodyPartComponent>(Owner);
public BodyPartType? ParentType => Parent?.PartType;
@@ -53,7 +55,7 @@ namespace Content.Server.Body.Surgery
private async Task<bool> SurgeryDoAfter(EntityUid performer)
{
if (!IoCManager.Resolve<IEntityManager>().HasComponent<DoAfterComponent>(performer))
if (!_entMan.HasComponent<DoAfterComponent>(performer))
{
return true;
}
@@ -299,7 +301,7 @@ namespace Content.Server.Body.Surgery
performer.PopupMessage(Loc.GetString("biological-surgery-data-component-loosen-organ-message"));
if (!IoCManager.Resolve<IEntityManager>().HasComponent<DoAfterComponent>(performer))
if (!_entMan.HasComponent<DoAfterComponent>(performer))
{
AddDisconnectedOrgan(target);
return;
@@ -340,16 +342,16 @@ namespace Content.Server.Body.Surgery
performer.PopupMessage(Loc.GetString("biological-surgery-data-component-remove-organ-message"));
if (!IoCManager.Resolve<IEntityManager>().HasComponent<DoAfterComponent>(performer))
if (!_entMan.HasComponent<DoAfterComponent>(performer))
{
Parent.RemoveMechanism(target, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(performer).Coordinates);
Parent.RemoveMechanism(target, _entMan.GetComponent<TransformComponent>(performer).Coordinates);
RemoveDisconnectedOrgan(target);
return;
}
if (await SurgeryDoAfter(performer))
{
Parent.RemoveMechanism(target, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(performer).Coordinates);
Parent.RemoveMechanism(target, _entMan.GetComponent<TransformComponent>(performer).Coordinates);
RemoveDisconnectedOrgan(target);
}
}

View File

@@ -18,15 +18,17 @@ namespace Content.Server.Botany.Components
if (!EntitySystem.Get<ActionBlockerSystem>().CanInteract(eventArgs.User))
return false;
var entMan = IoCManager.Resolve<IEntityManager>();
if (eventArgs.Using.HasTag("BotanySharp"))
{
for (var i = 0; i < 2; i++)
{
var plank = IoCManager.Resolve<IEntityManager>().SpawnEntity("MaterialWoodPlank1", IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates);
var plank = entMan.SpawnEntity("MaterialWoodPlank1", entMan.GetComponent<TransformComponent>(Owner).Coordinates);
plank.RandomOffset(0.25f);
}
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity(Owner);
entMan.QueueDeleteEntity(Owner);
return true;
}

View File

@@ -44,6 +44,7 @@ namespace Content.Server.Botany.Components
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IGameTiming _gameTiming = default!;
[Dependency] private readonly IEntityManager _entMan = default!;
[ComponentDependency] private readonly AppearanceComponent? _appearanceComponent = default!;
public override string Name => "PlantHolder";
@@ -247,7 +248,7 @@ namespace Content.Server.Botany.Components
_updateSpriteAfterUpdate = true;
}
var environment = EntitySystem.Get<AtmosphereSystem>().GetTileMixture(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates, true) ??
var environment = EntitySystem.Get<AtmosphereSystem>().GetTileMixture(_entMan.GetComponent<TransformComponent>(Owner).Coordinates, true) ??
GasMixture.SpaceGas;
if (Seed.ConsumeGasses.Count > 0)
@@ -360,7 +361,7 @@ namespace Content.Server.Botany.Components
}
else if (Age < 0) // Revert back to seed packet!
{
Seed.SpawnSeedPacket(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates);
Seed.SpawnSeedPacket(_entMan.GetComponent<TransformComponent>(Owner).Coordinates);
RemovePlant();
ForceUpdate = true;
Update();
@@ -420,12 +421,12 @@ namespace Content.Server.Botany.Components
public bool DoHarvest(EntityUid user)
{
if (Seed == null || (!IoCManager.Resolve<IEntityManager>().EntityExists(user) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(user).EntityLifeStage) >= EntityLifeStage.Deleted || !EntitySystem.Get<ActionBlockerSystem>().CanInteract(user))
if (Seed == null || (!_entMan.EntityExists(user) ? EntityLifeStage.Deleted : _entMan.GetComponent<MetaDataComponent>(user).EntityLifeStage) >= EntityLifeStage.Deleted || !EntitySystem.Get<ActionBlockerSystem>().CanInteract(user))
return false;
if (Harvest && !Dead)
{
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(user, out HandsComponent? hands))
if (_entMan.TryGetComponent(user, out HandsComponent? hands))
{
if (!Seed.CheckHarvest(user, hands.GetActiveHand?.Owner))
return false;
@@ -452,7 +453,7 @@ namespace Content.Server.Botany.Components
if (Seed == null || !Harvest)
return;
Seed.AutoHarvest(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates);
Seed.AutoHarvest(_entMan.GetComponent<TransformComponent>(Owner).Coordinates);
AfterHarvest();
}
@@ -650,17 +651,17 @@ namespace Content.Server.Botany.Components
var user = eventArgs.User;
var usingItem = eventArgs.Using;
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(usingItem) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(usingItem).EntityLifeStage) >= EntityLifeStage.Deleted || !EntitySystem.Get<ActionBlockerSystem>().CanInteract(user))
if ((!_entMan.EntityExists(usingItem) ? EntityLifeStage.Deleted : _entMan.GetComponent<MetaDataComponent>(usingItem).EntityLifeStage) >= EntityLifeStage.Deleted || !EntitySystem.Get<ActionBlockerSystem>().CanInteract(user))
return false;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(usingItem, out SeedComponent? seeds))
if (_entMan.TryGetComponent(usingItem, out SeedComponent? seeds))
{
if (Seed == null)
{
if (seeds.Seed == null)
{
user.PopupMessageCursor(Loc.GetString("plant-holder-component-empty-seed-packet-message"));
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity(usingItem);
_entMan.QueueDeleteEntity(usingItem);
return false;
}
@@ -674,7 +675,7 @@ namespace Content.Server.Botany.Components
Health = Seed.Endurance;
_lastCycle = _gameTiming.CurTime;
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity(usingItem);
_entMan.QueueDeleteEntity(usingItem);
CheckLevelSanity();
UpdateSprite();
@@ -683,7 +684,7 @@ namespace Content.Server.Botany.Components
}
user.PopupMessageCursor(Loc.GetString("plant-holder-component-already-seeded-message",
("name", Name: IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner).EntityName)));
("name", Name: _entMan.GetComponent<MetaDataComponent>(Owner).EntityName)));
return false;
}
@@ -692,9 +693,9 @@ namespace Content.Server.Botany.Components
if (WeedLevel > 0)
{
user.PopupMessageCursor(Loc.GetString("plant-holder-component-remove-weeds-message",
("name", Name: IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner).EntityName)));
("name", Name: _entMan.GetComponent<MetaDataComponent>(Owner).EntityName)));
user.PopupMessageOtherClients(Loc.GetString("plant-holder-component-remove-weeds-others-message",
("otherName", Name: IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(user).EntityName)));
("otherName", Name: _entMan.GetComponent<MetaDataComponent>(user).EntityName)));
WeedLevel = 0;
UpdateSprite();
}
@@ -711,9 +712,9 @@ namespace Content.Server.Botany.Components
if (Seed != null)
{
user.PopupMessageCursor(Loc.GetString("plant-holder-component-remove-plant-message",
("name", Name: IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner).EntityName)));
("name", Name: _entMan.GetComponent<MetaDataComponent>(Owner).EntityName)));
user.PopupMessageOtherClients(Loc.GetString("plant-holder-component-remove-plant-others-message",
("name", Name: IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(user).EntityName)));
("name", Name: _entMan.GetComponent<MetaDataComponent>(user).EntityName)));
RemovePlant();
}
else
@@ -733,7 +734,7 @@ namespace Content.Server.Botany.Components
var targetEntity = Owner;
var solutionEntity = usingItem;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(usingItem, out SprayComponent? spray))
if (_entMan.TryGetComponent(usingItem, out SprayComponent? spray))
{
sprayed = true;
amount = FixedPoint2.New(1);
@@ -782,7 +783,7 @@ namespace Content.Server.Botany.Components
return false;
}
var seed = Seed.SpawnSeedPacket(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(user).Coordinates);
var seed = Seed.SpawnSeedPacket(_entMan.GetComponent<TransformComponent>(user).Coordinates);
seed.RandomOffset(0.25f);
user.PopupMessageCursor(Loc.GetString("plant-holder-component-take-sample-message",
("seedName", Seed.DisplayName)));
@@ -803,7 +804,7 @@ namespace Content.Server.Botany.Components
return DoHarvest(user);
}
if (IoCManager.Resolve<IEntityManager>().TryGetComponent<ProduceComponent?>(usingItem, out var produce))
if (_entMan.TryGetComponent<ProduceComponent?>(usingItem, out var produce))
{
user.PopupMessageCursor(Loc.GetString("plant-holder-component-compost-message",
("owner", Owner),
@@ -822,7 +823,7 @@ namespace Content.Server.Botany.Components
ForceUpdateByExternalCause();
}
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity(usingItem);
_entMan.QueueDeleteEntity(usingItem);
return true;
}

View File

@@ -14,6 +14,7 @@ namespace Content.Server.Botany.Components
{
[ComponentDependency] private readonly ApcPowerReceiverComponent? _powerReceiver = default!;
[Dependency] private readonly IEntityManager _entMan = default!;
[Dependency] private readonly IRobustRandom _random = default!;
public override string Name => "SeedExtractor";
@@ -27,17 +28,17 @@ namespace Content.Server.Botany.Components
if (!_powerReceiver?.Powered ?? false)
return false;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(eventArgs.Using, out ProduceComponent? produce) && produce.Seed != null)
if (_entMan.TryGetComponent(eventArgs.Using, out ProduceComponent? produce) && produce.Seed != null)
{
eventArgs.User.PopupMessageCursor(Loc.GetString("seed-extractor-component-interact-message",("name", Name: IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(eventArgs.Using).EntityName)));
eventArgs.User.PopupMessageCursor(Loc.GetString("seed-extractor-component-interact-message",("name", Name: _entMan.GetComponent<MetaDataComponent>(eventArgs.Using).EntityName)));
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity(eventArgs.Using);
_entMan.QueueDeleteEntity(eventArgs.Using);
var random = _random.Next(_minSeeds, _maxSeeds);
for (var i = 0; i < random; i++)
{
produce.Seed.SpawnSeedPacket(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates, IoCManager.Resolve<IEntityManager>());
produce.Seed.SpawnSeedPacket(_entMan.GetComponent<TransformComponent>(Owner).Coordinates, _entMan);
}
return true;

View File

@@ -257,14 +257,14 @@ namespace Content.Server.Botany
var seedComp = seed.EnsureComponent<SeedComponent>();
seedComp.Seed = this;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(seed, out SpriteComponent? sprite))
if (entityManager.TryGetComponent(seed, out SpriteComponent? sprite))
{
// Seed state will always be seed. Blame the spriter if that's not the case!
sprite.LayerSetSprite(0, new SpriteSpecifier.Rsi(PlantRsi, "seed"));
}
string val = Loc.GetString("botany-seed-packet-name", ("seedName", SeedName), ("seedNoun", SeedNoun));
IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(seed).EntityName = val;
entityManager.GetComponent<MetaDataComponent>(seed).EntityName = val;
return seed;
}
@@ -342,10 +342,9 @@ namespace Content.Server.Botany
if (Mysterious)
{
string val1 = IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity).EntityName + "?";
IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity).EntityName = val1;
string val = IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity).EntityDescription + (" " + Loc.GetString("botany-mysterious-description-addon"));
IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity).EntityDescription = val;
var metaData = entityManager.GetComponent<MetaDataComponent>(entity);
metaData.EntityName += "?";
metaData.EntityDescription += (" " + Loc.GetString("botany-mysterious-description-addon"));
}
}

View File

@@ -32,7 +32,7 @@ namespace Content.Server.Buckle.Components
[ComponentReference(typeof(SharedBuckleComponent))]
public class BuckleComponent : SharedBuckleComponent
{
[Dependency] private readonly IEntityManager _entityManager = default!;
[Dependency] private readonly IEntityManager _entMan = default!;
[Dependency] private readonly IGameTiming _gameTiming = default!;
[ComponentDependency] public readonly AppearanceComponent? Appearance = null;
@@ -115,8 +115,8 @@ namespace Content.Server.Buckle.Components
/// <param name="strap">The strap to reattach to.</param>
public void ReAttach(StrapComponent strap)
{
var ownTransform = _entityManager.GetComponent<TransformComponent>(Owner);
var strapTransform = _entityManager.GetComponent<TransformComponent>(strap.Owner);
var ownTransform = _entMan.GetComponent<TransformComponent>(Owner);
var strapTransform = _entMan.GetComponent<TransformComponent>(strap.Owner);
ownTransform.AttachParent(strapTransform);
ownTransform.LocalRotation = Angle.Zero;
@@ -152,7 +152,7 @@ namespace Content.Server.Buckle.Components
return false;
}
if (!_entityManager.TryGetComponent(to, out strap))
if (!_entMan.TryGetComponent(to, out strap))
{
return false;
}
@@ -176,7 +176,7 @@ namespace Content.Server.Buckle.Components
}
}
if (!_entityManager.HasComponent<HandsComponent>(user))
if (!_entMan.HasComponent<HandsComponent>(user))
{
popupSystem.PopupEntity(Loc.GetString("buckle-component-no-hands-message"), user, Filter.Entities(user));
return false;
@@ -192,10 +192,10 @@ namespace Content.Server.Buckle.Components
return false;
}
var parent = _entityManager.GetComponent<TransformComponent>(to).Parent;
var parent = _entMan.GetComponent<TransformComponent>(to).Parent;
while (parent != null)
{
if (parent == _entityManager.GetComponent<TransformComponent>(user))
if (parent == _entMan.GetComponent<TransformComponent>(user))
{
var message = Loc.GetString(Owner == user
? "buckle-component-cannot-buckle-message"
@@ -254,7 +254,7 @@ namespace Content.Server.Buckle.Components
SendMessage(new BuckleMessage(Owner, to));
#pragma warning restore 618
if (_entityManager.TryGetComponent(Owner, out SharedPullableComponent? ownerPullable))
if (_entMan.TryGetComponent(Owner, out SharedPullableComponent? ownerPullable))
{
if (ownerPullable.Puller != null)
{
@@ -262,7 +262,7 @@ namespace Content.Server.Buckle.Components
}
}
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(to, out SharedPullableComponent? toPullable))
if (_entMan.TryGetComponent(to, out SharedPullableComponent? toPullable))
{
if (toPullable.Puller == Owner)
{
@@ -317,15 +317,15 @@ namespace Content.Server.Buckle.Components
BuckledTo = null;
if (_entityManager.GetComponent<TransformComponent>(Owner).Parent == _entityManager.GetComponent<TransformComponent>(oldBuckledTo.Owner))
if (_entMan.GetComponent<TransformComponent>(Owner).Parent == _entMan.GetComponent<TransformComponent>(oldBuckledTo.Owner))
{
_entityManager.GetComponent<TransformComponent>(Owner).AttachParentToContainerOrGrid();
_entityManager.GetComponent<TransformComponent>(Owner).WorldRotation = _entityManager.GetComponent<TransformComponent>(oldBuckledTo.Owner).WorldRotation;
_entMan.GetComponent<TransformComponent>(Owner).AttachParentToContainerOrGrid();
_entMan.GetComponent<TransformComponent>(Owner).WorldRotation = _entMan.GetComponent<TransformComponent>(oldBuckledTo.Owner).WorldRotation;
}
Appearance?.SetData(BuckleVisuals.Buckled, false);
if (IoCManager.Resolve<IEntityManager>().HasComponent<KnockedDownComponent>(Owner)
if (_entMan.HasComponent<KnockedDownComponent>(Owner)
|| (_mobState?.IsIncapacitated() ?? false))
{
EntitySystem.Get<StandingStateSystem>().Down(Owner);
@@ -335,7 +335,7 @@ namespace Content.Server.Buckle.Components
EntitySystem.Get<StandingStateSystem>().Stand(Owner);
}
_mobState?.CurrentState?.EnterState(Owner, IoCManager.Resolve<IEntityManager>());
_mobState?.CurrentState?.EnterState(Owner, _entMan);
UpdateBuckleStatus();
@@ -395,7 +395,7 @@ namespace Content.Server.Buckle.Components
int? drawDepth = null;
if (BuckledTo != null &&
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(BuckledTo.Owner).LocalRotation.GetCardinalDir() == Direction.North &&
_entMan.GetComponent<TransformComponent>(BuckledTo.Owner).LocalRotation.GetCardinalDir() == Direction.North &&
BuckledTo.SpriteComponent != null)
{
drawDepth = BuckledTo.SpriteComponent.DrawDepth - 1;

View File

@@ -21,6 +21,8 @@ namespace Content.Server.Buckle.Components
{
[ComponentDependency] public readonly SpriteComponent? SpriteComponent = null;
[Dependency] private readonly IEntityManager _entMan = default!;
private readonly HashSet<EntityUid> _buckledEntities = new();
/// <summary>
@@ -147,7 +149,7 @@ namespace Content.Server.Buckle.Components
{
foreach (var entity in _buckledEntities.ToArray())
{
if (IoCManager.Resolve<IEntityManager>().TryGetComponent<BuckleComponent?>(entity, out var buckle))
if (_entMan.TryGetComponent<BuckleComponent?>(entity, out var buckle))
{
buckle.TryUnbuckle(entity, true);
}
@@ -164,7 +166,7 @@ namespace Content.Server.Buckle.Components
bool IInteractHand.InteractHand(InteractHandEventArgs eventArgs)
{
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent<BuckleComponent?>(eventArgs.User, out var buckle))
if (!_entMan.TryGetComponent<BuckleComponent?>(eventArgs.User, out var buckle))
{
return false;
}
@@ -174,7 +176,7 @@ namespace Content.Server.Buckle.Components
public override bool DragDropOn(DragDropEvent eventArgs)
{
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(eventArgs.Dragged, out BuckleComponent? buckleComponent)) return false;
if (!_entMan.TryGetComponent(eventArgs.Dragged, out BuckleComponent? buckleComponent)) return false;
return buckleComponent.TryBuckle(eventArgs.User, Owner);
}
}

View File

@@ -21,6 +21,7 @@ namespace Content.Server.Cargo.Components
public class CargoConsoleComponent : SharedCargoConsoleComponent
{
[Dependency] private readonly IMapManager _mapManager = default!;
[Dependency] private readonly IEntityManager _entMan = default!;
private CargoBankAccount? _bankAccount;
@@ -57,7 +58,7 @@ namespace Content.Server.Cargo.Components
[DataField("errorSound")]
private SoundSpecifier _errorSound = new SoundPathSpecifier("/Audio/Effects/error.ogg");
private bool Powered => !IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out ApcPowerReceiverComponent? receiver) || receiver.Powered;
private bool Powered => !_entMan.TryGetComponent(Owner, out ApcPowerReceiverComponent? receiver) || receiver.Powered;
private CargoConsoleSystem _cargoConsoleSystem = default!;
[ViewVariables] private BoundUserInterface? UserInterface => Owner.GetUIOrNull(CargoConsoleUiKey.Key);
@@ -90,7 +91,7 @@ namespace Content.Server.Cargo.Components
private void UserInterfaceOnOnReceiveMessage(ServerBoundUserInterfaceMessage serverMsg)
{
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out CargoOrderDatabaseComponent? orders))
if (!_entMan.TryGetComponent(Owner, out CargoOrderDatabaseComponent? orders))
{
return;
}
@@ -160,20 +161,20 @@ namespace Content.Server.Cargo.Components
// TODO replace with shuttle code
// TEMPORARY loop for spawning stuff on telepad (looks for a telepad adjacent to the console)
EntityUid? cargoTelepad = null;
var indices = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates.ToVector2i(IoCManager.Resolve<IEntityManager>(), _mapManager);
var indices = _entMan.GetComponent<TransformComponent>(Owner).Coordinates.ToVector2i(_entMan, _mapManager);
var offsets = new Vector2i[] { new Vector2i(0, 1), new Vector2i(1, 1), new Vector2i(1, 0), new Vector2i(1, -1),
new Vector2i(0, -1), new Vector2i(-1, -1), new Vector2i(-1, 0), new Vector2i(-1, 1), };
var adjacentEntities = new List<IEnumerable<EntityUid>>(); //Probably better than IEnumerable.concat
foreach (var offset in offsets)
{
adjacentEntities.Add((indices+offset).GetEntitiesInTileFast(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).GridID));
adjacentEntities.Add((indices+offset).GetEntitiesInTileFast(_entMan.GetComponent<TransformComponent>(Owner).GridID));
}
foreach (var enumerator in adjacentEntities)
{
foreach (EntityUid entity in enumerator)
{
if (IoCManager.Resolve<IEntityManager>().HasComponent<CargoTelepadComponent>(entity) && IoCManager.Resolve<IEntityManager>().TryGetComponent<ApcPowerReceiverComponent?>(entity, out var powerReceiver) && powerReceiver.Powered)
if (_entMan.HasComponent<CargoTelepadComponent>(entity) && _entMan.TryGetComponent<ApcPowerReceiverComponent?>(entity, out var powerReceiver) && powerReceiver.Powered)
{
cargoTelepad = entity;
break;
@@ -182,7 +183,7 @@ namespace Content.Server.Cargo.Components
}
if (cargoTelepad != null)
{
if (IoCManager.Resolve<IEntityManager>().TryGetComponent<CargoTelepadComponent?>(cargoTelepad.Value, out var telepadComponent))
if (_entMan.TryGetComponent<CargoTelepadComponent?>(cargoTelepad.Value, out var telepadComponent))
{
var approvedOrders = _cargoConsoleSystem.RemoveAndGetApprovedOrders(orders.Database.Id);
orders.Database.ClearOrderCapacity();
@@ -199,7 +200,7 @@ namespace Content.Server.Cargo.Components
private void UpdateUIState()
{
if (_bankAccount == null || !IoCManager.Resolve<IEntityManager>().EntityExists(Owner))
if (_bankAccount == null || !_entMan.EntityExists(Owner))
{
return;
}

View File

@@ -25,6 +25,7 @@ namespace Content.Server.Cargo.Components
[RegisterComponent]
public class CargoTelepadComponent : Component
{
[Dependency] private readonly IEntityManager _entMan = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
public override string Name => "CargoTelepad";
@@ -67,14 +68,14 @@ namespace Content.Server.Cargo.Components
{
if (args.Powered && _currentState == CargoTelepadState.Unpowered) {
_currentState = CargoTelepadState.Idle;
if(IoCManager.Resolve<IEntityManager>().TryGetComponent<SpriteComponent?>(Owner, out var spriteComponent) && spriteComponent.LayerCount > 0)
if(_entMan.TryGetComponent<SpriteComponent?>(Owner, out var spriteComponent) && spriteComponent.LayerCount > 0)
spriteComponent.LayerSetState(0, "idle");
TeleportLoop();
}
else if (!args.Powered)
{
_currentState = CargoTelepadState.Unpowered;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent<SpriteComponent?>(Owner, out var spriteComponent) && spriteComponent.LayerCount > 0)
if (_entMan.TryGetComponent<SpriteComponent?>(Owner, out var spriteComponent) && spriteComponent.LayerCount > 0)
spriteComponent.LayerSetState(0, "offline");
}
}
@@ -83,23 +84,23 @@ namespace Content.Server.Cargo.Components
if (_currentState == CargoTelepadState.Idle && _teleportQueue.Count > 0)
{
_currentState = CargoTelepadState.Charging;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent<SpriteComponent?>(Owner, out var spriteComponent) && spriteComponent.LayerCount > 0)
if (_entMan.TryGetComponent<SpriteComponent?>(Owner, out var spriteComponent) && spriteComponent.LayerCount > 0)
spriteComponent.LayerSetState(0, "idle");
Owner.SpawnTimer((int) (TeleportDelay * 1000), () =>
{
if (!Deleted && !((!IoCManager.Resolve<IEntityManager>().EntityExists(Owner) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner).EntityLifeStage) >= EntityLifeStage.Deleted) && _currentState == CargoTelepadState.Charging && _teleportQueue.Count > 0)
if (!Deleted && !((!_entMan.EntityExists(Owner) ? EntityLifeStage.Deleted : _entMan.GetComponent<MetaDataComponent>(Owner).EntityLifeStage) >= EntityLifeStage.Deleted) && _currentState == CargoTelepadState.Charging && _teleportQueue.Count > 0)
{
_currentState = CargoTelepadState.Teleporting;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent<SpriteComponent?>(Owner, out var spriteComponent) && spriteComponent.LayerCount > 0)
if (_entMan.TryGetComponent<SpriteComponent?>(Owner, out var spriteComponent) && spriteComponent.LayerCount > 0)
spriteComponent.LayerSetState(0, "beam");
Owner.SpawnTimer((int) (TeleportDuration * 1000), () =>
{
if (!Deleted && !((!IoCManager.Resolve<IEntityManager>().EntityExists(Owner) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner).EntityLifeStage) >= EntityLifeStage.Deleted) && _currentState == CargoTelepadState.Teleporting && _teleportQueue.Count > 0)
if (!Deleted && !((!_entMan.EntityExists(Owner) ? EntityLifeStage.Deleted : _entMan.GetComponent<MetaDataComponent>(Owner).EntityLifeStage) >= EntityLifeStage.Deleted) && _currentState == CargoTelepadState.Teleporting && _teleportQueue.Count > 0)
{
SoundSystem.Play(Filter.Pvs(Owner), _teleportSound.GetSound(), Owner, AudioParams.Default.WithVolume(-8f));
SpawnProduct(_teleportQueue[0]);
_teleportQueue.RemoveAt(0);
if (IoCManager.Resolve<IEntityManager>().TryGetComponent<SpriteComponent?>(Owner, out var spriteComponent) && spriteComponent.LayerCount > 0)
if (_entMan.TryGetComponent<SpriteComponent?>(Owner, out var spriteComponent) && spriteComponent.LayerCount > 0)
spriteComponent.LayerSetState(0, "idle");
_currentState = CargoTelepadState.Idle;
TeleportLoop();
@@ -119,18 +120,18 @@ namespace Content.Server.Cargo.Components
if (!_prototypeManager.TryIndex(data.ProductId, out CargoProductPrototype? prototype))
return;
var product = IoCManager.Resolve<IEntityManager>().SpawnEntity(prototype.Product, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates);
var product = _entMan.SpawnEntity(prototype.Product, _entMan.GetComponent<TransformComponent>(Owner).Coordinates);
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(product).Anchored = false;
_entMan.GetComponent<TransformComponent>(product).Anchored = false;
// spawn a piece of paper.
var printed = IoCManager.Resolve<IEntityManager>().SpawnEntity(PrinterOutput, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates);
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(printed, out PaperComponent paper))
var printed = _entMan.SpawnEntity(PrinterOutput, _entMan.GetComponent<TransformComponent>(Owner).Coordinates);
if (!_entMan.TryGetComponent(printed, out PaperComponent paper))
return;
// fill in the order data
string val = Loc.GetString("cargo-console-paper-print-name", ("orderNumber", data.OrderNumber));
IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(printed).EntityName = val;
_entMan.GetComponent<MetaDataComponent>(printed).EntityName = val;
paper.SetContent(Loc.GetString(
"cargo-console-paper-print-text",
("orderNumber", data.OrderNumber),
@@ -139,7 +140,7 @@ namespace Content.Server.Cargo.Components
("approver", data.Approver)));
// attempt to attach the label
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(product, out PaperLabelComponent label))
if (_entMan.TryGetComponent(product, out PaperLabelComponent label))
{
EntitySystem.Get<ItemSlotsSystem>().TryInsert(Owner, label.LabelSlot, printed);
}

View File

@@ -16,6 +16,8 @@ namespace Content.Server.Chemistry.Components
[ComponentReference(typeof(SolutionAreaEffectComponent))]
public class FoamSolutionAreaEffectComponent : SolutionAreaEffectComponent
{
[Dependency] private readonly IEntityManager _entMan = default!;
public override string Name => "FoamSolutionAreaEffect";
public new const string SolutionName = "solutionArea";
@@ -23,7 +25,7 @@ namespace Content.Server.Chemistry.Components
protected override void UpdateVisuals()
{
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out AppearanceComponent? appearance) &&
if (_entMan.TryGetComponent(Owner, out AppearanceComponent? appearance) &&
EntitySystem.Get<SolutionContainerSystem>().TryGetSolution(Owner, SolutionName, out var solution))
{
appearance.SetData(FoamVisuals.Color, solution.Color.WithAlpha(0.80f));
@@ -35,13 +37,13 @@ namespace Content.Server.Chemistry.Components
if (!EntitySystem.Get<SolutionContainerSystem>().TryGetSolution(Owner, SolutionName, out var solution))
return;
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out BloodstreamComponent? bloodstream))
if (!_entMan.TryGetComponent(entity, out BloodstreamComponent? bloodstream))
return;
// TODO: Add a permeability property to clothing
// For now it just adds to protection for each clothing equipped
var protection = 0f;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out InventoryComponent? inventory))
if (_entMan.TryGetComponent(entity, out InventoryComponent? inventory))
{
foreach (var slot in inventory.Slots)
{
@@ -68,9 +70,9 @@ namespace Content.Server.Chemistry.Components
protected override void OnKill()
{
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(Owner) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner).EntityLifeStage) >= EntityLifeStage.Deleted)
if ((!_entMan.EntityExists(Owner) ? EntityLifeStage.Deleted : _entMan.GetComponent<MetaDataComponent>(Owner).EntityLifeStage) >= EntityLifeStage.Deleted)
return;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out AppearanceComponent? appearance))
if (_entMan.TryGetComponent(Owner, out AppearanceComponent? appearance))
{
appearance.SetData(FoamVisuals.State, true);
}
@@ -79,10 +81,10 @@ namespace Content.Server.Chemistry.Components
{
if (!string.IsNullOrEmpty(_foamedMetalPrototype))
{
IoCManager.Resolve<IEntityManager>().SpawnEntity(_foamedMetalPrototype, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates);
_entMan.SpawnEntity(_foamedMetalPrototype, _entMan.GetComponent<TransformComponent>(Owner).Coordinates);
}
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity(Owner);
_entMan.QueueDeleteEntity(Owner);
});
}
}

View File

@@ -23,6 +23,8 @@ namespace Content.Server.Chemistry.Components
[RegisterComponent]
public sealed class HyposprayComponent : SharedHyposprayComponent
{
[Dependency] private readonly IEntityManager _entMan = default!;
[DataField("clumsyFailChance")]
[ViewVariables(VVAccess.ReadWrite)]
public float ClumsyFailChance { get; set; } = 0.5f;
@@ -80,7 +82,7 @@ namespace Content.Server.Chemistry.Components
{
target.Value.PopupMessage(Loc.GetString("hypospray-component-feel-prick-message"));
var meleeSys = EntitySystem.Get<MeleeWeaponSystem>();
var angle = Angle.FromWorldVec(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(target.Value).WorldPosition - IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(user).WorldPosition);
var angle = Angle.FromWorldVec(_entMan.GetComponent<TransformComponent>(target.Value).WorldPosition - _entMan.GetComponent<TransformComponent>(user).WorldPosition);
meleeSys.SendLunge(angle, user);
}
@@ -116,8 +118,8 @@ namespace Content.Server.Chemistry.Components
// TODO: Does checking for BodyComponent make sense as a "can be hypospray'd" tag?
// In SS13 the hypospray ONLY works on mobs, NOT beakers or anything else.
return IoCManager.Resolve<IEntityManager>().HasComponent<SolutionContainerManagerComponent>(entity)
&& IoCManager.Resolve<IEntityManager>().HasComponent<MobStateComponent>(entity);
return _entMan.HasComponent<SolutionContainerManagerComponent>(entity)
&& _entMan.HasComponent<MobStateComponent>(entity);
}
return true;
@@ -125,7 +127,7 @@ namespace Content.Server.Chemistry.Components
public override ComponentState GetComponentState()
{
var solutionSys = IoCManager.Resolve<IEntityManager>().EntitySysManager.GetEntitySystem<SolutionContainerSystem>();
var solutionSys = _entMan.EntitySysManager.GetEntitySystem<SolutionContainerSystem>();
return solutionSys.TryGetSolution(Owner, SolutionName, out var solution)
? new HyposprayComponentState(solution.CurrentVolume, solution.MaxVolume)
: new HyposprayComponentState(FixedPoint2.Zero, FixedPoint2.Zero);

View File

@@ -14,12 +14,14 @@ namespace Content.Server.Chemistry.Components
[ComponentReference(typeof(SolutionAreaEffectComponent))]
public class SmokeSolutionAreaEffectComponent : SolutionAreaEffectComponent
{
[Dependency] private readonly IEntityManager _entMan = default!;
public override string Name => "SmokeSolutionAreaEffect";
public new const string SolutionName = "solutionArea";
protected override void UpdateVisuals()
{
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out AppearanceComponent? appearance) &&
if (_entMan.TryGetComponent(Owner, out AppearanceComponent? appearance) &&
EntitySystem.Get<SolutionContainerSystem>().TryGetSolution(Owner, SolutionName, out var solution))
{
appearance.SetData(SmokeVisuals.Color, solution.Color);
@@ -31,10 +33,10 @@ namespace Content.Server.Chemistry.Components
if (!EntitySystem.Get<SolutionContainerSystem>().TryGetSolution(Owner, SolutionName, out var solution))
return;
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out BloodstreamComponent? bloodstream))
if (!_entMan.TryGetComponent(entity, out BloodstreamComponent? bloodstream))
return;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out InternalsComponent? internals) &&
if (_entMan.TryGetComponent(entity, out InternalsComponent? internals) &&
internals.AreInternalsWorking())
return;
@@ -56,9 +58,9 @@ namespace Content.Server.Chemistry.Components
protected override void OnKill()
{
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(Owner) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner).EntityLifeStage) >= EntityLifeStage.Deleted)
if ((!_entMan.EntityExists(Owner) ? EntityLifeStage.Deleted : _entMan.GetComponent<MetaDataComponent>(Owner).EntityLifeStage) >= EntityLifeStage.Deleted)
return;
IoCManager.Resolve<IEntityManager>().DeleteEntity(Owner);
_entMan.DeleteEntity(Owner);
}
}
}

View File

@@ -10,6 +10,8 @@ namespace Content.Server.Chemistry.Components
[RegisterComponent]
public class TransformableContainerComponent : Component
{
[Dependency] private readonly IEntityManager _entMan = default!;
public override string Name => "TransformableContainer";
public SpriteSpecifier? InitialSprite;
@@ -23,14 +25,14 @@ namespace Content.Server.Chemistry.Components
{
base.Initialize();
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out SpriteComponent? sprite) &&
if (_entMan.TryGetComponent(Owner, out SpriteComponent? sprite) &&
sprite.BaseRSIPath != null)
{
InitialSprite = new SpriteSpecifier.Rsi(new ResourcePath(sprite.BaseRSIPath), "icon");
}
InitialName = IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner).EntityName;
InitialDescription = IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner).EntityDescription;
InitialName = _entMan.GetComponent<MetaDataComponent>(Owner).EntityName;
InitialDescription = _entMan.GetComponent<MetaDataComponent>(Owner).EntityDescription;
}
protected override void Startup()

View File

@@ -24,9 +24,10 @@ namespace Content.Server.Chemistry.TileReactions
{
var entities = tile.GetEntitiesInTileFast().ToArray();
var amount = FixedPoint2.Zero;
var entMan = IoCManager.Resolve<IEntityManager>();
foreach (var entity in entities)
{
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out CleanableComponent? cleanable))
if (entMan.TryGetComponent(entity, out CleanableComponent? cleanable))
{
var next = (amount + cleanable.CleanAmount) * CleanAmountMultiplier;
// Nothing left?
@@ -34,7 +35,7 @@ namespace Content.Server.Chemistry.TileReactions
break;
amount = next;
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity(entity);
entMan.QueueDeleteEntity(entity);
}
}

View File

@@ -27,6 +27,9 @@ namespace Content.Server.Clothing.Components
[ComponentDependency] private ItemComponent? _item = null;
[ComponentDependency] private ItemActionsComponent? _itemActions = null;
[ComponentDependency] private SpriteComponent? _sprite = null;
[Dependency] private readonly IEntityManager _entMan = default!;
private bool _on;
[ViewVariables]
@@ -56,12 +59,12 @@ namespace Content.Server.Clothing.Components
{
if (On && eventArgs.Slot == Slots.SHOES)
{
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(eventArgs.User, out MovedByPressureComponent? movedByPressure))
if (_entMan.TryGetComponent(eventArgs.User, out MovedByPressureComponent? movedByPressure))
{
movedByPressure.Enabled = true;
}
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(eventArgs.User, out ServerAlertsComponent? alerts))
if (_entMan.TryGetComponent(eventArgs.User, out ServerAlertsComponent? alerts))
{
alerts.ClearAlert(AlertType.Magboots);
}
@@ -78,15 +81,15 @@ namespace Content.Server.Clothing.Components
if (!Owner.TryGetContainer(out var container))
return;
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(container.Owner, out InventoryComponent? inventoryComponent)
if (_entMan.TryGetComponent(container.Owner, out InventoryComponent? inventoryComponent)
&& inventoryComponent.GetSlotItem(Slots.SHOES)?.Owner == Owner)
{
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(container.Owner, out MovedByPressureComponent? movedByPressure))
if (_entMan.TryGetComponent(container.Owner, out MovedByPressureComponent? movedByPressure))
{
movedByPressure.Enabled = false;
}
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(container.Owner, out ServerAlertsComponent? alerts))
if (_entMan.TryGetComponent(container.Owner, out ServerAlertsComponent? alerts))
{
if (On)
{
@@ -123,7 +126,7 @@ namespace Content.Server.Clothing.Components
{
public bool DoToggleAction(ToggleItemActionEventArgs args)
{
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent<MagbootsComponent?>(args.Item, out var magboots))
if (!_entMan.TryGetComponent<MagbootsComponent?>(args.Item, out var magboots))
return false;
magboots.Toggle(args.Performer);

View File

@@ -55,31 +55,36 @@ namespace Content.Server.Commands
public static string SubstituteEntityDetails(IConsoleShell shell, EntityUid ent, string ruleString)
{
var entMan = IoCManager.Resolve<IEntityManager>();
var transform = entMan.GetComponent<TransformComponent>(ent);
// gross, is there a better way to do this?
ruleString = ruleString.Replace("$ID", ent.ToString());
ruleString = ruleString.Replace("$WX",
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(ent).WorldPosition.X.ToString(CultureInfo.InvariantCulture));
transform.WorldPosition.X.ToString(CultureInfo.InvariantCulture));
ruleString = ruleString.Replace("$WY",
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(ent).WorldPosition.Y.ToString(CultureInfo.InvariantCulture));
transform.WorldPosition.Y.ToString(CultureInfo.InvariantCulture));
ruleString = ruleString.Replace("$LX",
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(ent).LocalPosition.X.ToString(CultureInfo.InvariantCulture));
transform.LocalPosition.X.ToString(CultureInfo.InvariantCulture));
ruleString = ruleString.Replace("$LY",
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(ent).LocalPosition.Y.ToString(CultureInfo.InvariantCulture));
ruleString = ruleString.Replace("$NAME", IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(ent).EntityName);
transform.LocalPosition.Y.ToString(CultureInfo.InvariantCulture));
ruleString = ruleString.Replace("$NAME", entMan.GetComponent<MetaDataComponent>(ent).EntityName);
if (shell.Player is IPlayerSession player)
{
if (player.AttachedEntity is {Valid: true} p)
{
var pTransform = entMan.GetComponent<TransformComponent>(p);
ruleString = ruleString.Replace("$PID", ent.ToString());
ruleString = ruleString.Replace("$PWX",
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(p).WorldPosition.X.ToString(CultureInfo.InvariantCulture));
pTransform.WorldPosition.X.ToString(CultureInfo.InvariantCulture));
ruleString = ruleString.Replace("$PWY",
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(p).WorldPosition.Y.ToString(CultureInfo.InvariantCulture));
pTransform.WorldPosition.Y.ToString(CultureInfo.InvariantCulture));
ruleString = ruleString.Replace("$PLX",
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(p).LocalPosition.X.ToString(CultureInfo.InvariantCulture));
pTransform.LocalPosition.X.ToString(CultureInfo.InvariantCulture));
ruleString = ruleString.Replace("$PLY",
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(p).LocalPosition.Y.ToString(CultureInfo.InvariantCulture));
pTransform.LocalPosition.Y.ToString(CultureInfo.InvariantCulture));
}
}
return ruleString;

View File

@@ -15,6 +15,8 @@ namespace Content.Server.Computer
[RegisterComponent]
public sealed class ComputerComponent : SharedComputerComponent, IMapInit
{
[Dependency] private readonly IEntityManager _entMan = default!;
[ViewVariables]
[DataField("board")]
private string? _boardPrototype;
@@ -26,8 +28,8 @@ namespace Content.Server.Computer
// Let's ensure the container manager and container are here.
Owner.EnsureContainer<Container>("board", out var _);
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out ApcPowerReceiverComponent? powerReceiver) &&
IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out AppearanceComponent? appearance))
if (_entMan.TryGetComponent(Owner, out ApcPowerReceiverComponent? powerReceiver) &&
_entMan.TryGetComponent(Owner, out AppearanceComponent? appearance))
{
appearance.SetData(ComputerVisuals.Powered, powerReceiver.Powered);
}
@@ -49,7 +51,7 @@ namespace Content.Server.Computer
private void PowerReceiverOnOnPowerStateChanged(PowerChangedMessage e)
{
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out AppearanceComponent? appearance))
if (_entMan.TryGetComponent(Owner, out AppearanceComponent? appearance))
{
appearance.SetData(ComputerVisuals.Powered, e.Powered);
}
@@ -63,7 +65,7 @@ namespace Content.Server.Computer
private void CreateComputerBoard()
{
// Ensure that the construction component is aware of the board container.
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(Owner, out ConstructionComponent? construction))
if (_entMan.TryGetComponent(Owner, out ConstructionComponent? construction))
EntitySystem.Get<ConstructionSystem>().AddContainer(Owner, "board", construction);
// We don't do anything if this is null or empty.
@@ -79,7 +81,7 @@ namespace Content.Server.Computer
return;
}
var board = IoCManager.Resolve<IEntityManager>().SpawnEntity(_boardPrototype, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates);
var board = _entMan.SpawnEntity(_boardPrototype, _entMan.GetComponent<TransformComponent>(Owner).Coordinates);
if(!container.Insert(board))
Logger.Warning($"Couldn't insert board {board} to computer {Owner}!");

View File

@@ -24,6 +24,8 @@ namespace Content.Server.Configurable
[ComponentReference(typeof(SharedConfigurationComponent))]
public class ConfigurationComponent : SharedConfigurationComponent, IInteractUsing, ISerializationHooks
{
[Dependency] private readonly IEntityManager _entMan = default!;
[ViewVariables] private BoundUserInterface? UserInterface => Owner.GetUIOrNull(ConfigurationUiKey.Key);
[DataField("keys")] private List<string> _keys = new();
@@ -81,10 +83,10 @@ namespace Content.Server.Configurable
async Task<bool> IInteractUsing.InteractUsing(InteractUsingEventArgs eventArgs)
{
if (UserInterface == null || !IoCManager.Resolve<IEntityManager>().TryGetComponent(eventArgs.User, out ActorComponent? actor))
if (UserInterface == null || !_entMan.TryGetComponent(eventArgs.User, out ActorComponent? actor))
return false;
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent<ToolComponent?>(eventArgs.Using, out var tool) || !tool.Qualities.Contains(_qualityNeeded))
if (!_entMan.TryGetComponent<ToolComponent?>(eventArgs.Using, out var tool) || !tool.Qualities.Contains(_qualityNeeded))
return false;
OpenUserInterface(actor);

View File

@@ -74,7 +74,7 @@ namespace Content.Server.Construction.Commands
continue;
}
var prototype = IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(child).EntityPrototype;
var prototype = entityManager.GetComponent<MetaDataComponent>(child).EntityPrototype;
while (true)
{
if (prototype?.Parent == null)
@@ -90,12 +90,14 @@ namespace Content.Server.Construction.Commands
continue;
}
if (!IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(child).Anchored)
var childTransform = entityManager.GetComponent<TransformComponent>(child);
if (!childTransform.Anchored)
{
continue;
}
var tile = grid.GetTileRef(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(child).Coordinates);
var tile = grid.GetTileRef(childTransform.Coordinates);
var tileDef = (ContentTileDefinition) tileDefinitionManager[tile.Tile.TypeId];
if (tileDef.Name == "underplating")
@@ -103,7 +105,7 @@ namespace Content.Server.Construction.Commands
continue;
}
grid.SetTile(IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(child).Coordinates, underplatingTile);
grid.SetTile(childTransform.Coordinates, underplatingTile);
changed++;
}

View File

@@ -40,7 +40,7 @@ namespace Content.Server.Construction.Completions
var board = container.ContainedEntities[0];
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(board, out ComputerBoardComponent? boardComponent))
if (!entityManager.TryGetComponent(board, out ComputerBoardComponent? boardComponent))
{
Logger.Warning($"Computer entity {uid} had an invalid entity in container \"{Container}\"! Aborting build computer action.");
return;
@@ -50,7 +50,7 @@ namespace Content.Server.Construction.Completions
var transform = entityManager.GetComponent<TransformComponent>(uid);
var computer = entityManager.SpawnEntity(boardComponent.Prototype, transform.Coordinates);
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(computer).LocalRotation = transform.LocalRotation;
entityManager.GetComponent<TransformComponent>(computer).LocalRotation = transform.LocalRotation;
var computerContainer = containerSystem.EnsureContainer<Container>(computer, Container);
@@ -58,7 +58,7 @@ namespace Content.Server.Construction.Completions
foreach (var ent in computerContainer.ContainedEntities.ToArray())
{
computerContainer.ForceRemove(ent);
IoCManager.Resolve<IEntityManager>().DeleteEntity(ent);
entityManager.DeleteEntity(ent);
}
computerContainer.Insert(board);

View File

@@ -54,7 +54,7 @@ namespace Content.Server.Construction.Completions
var board = entBoardContainer.ContainedEntities[0];
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(board, out MachineBoardComponent? boardComponent))
if (!entityManager.TryGetComponent(board, out MachineBoardComponent? boardComponent))
{
Logger.Warning($"Machine frame entity {uid} had an invalid entity in container \"{MachineFrameComponent.BoardContainer}\"! Aborting build machine action.");
return;
@@ -64,7 +64,7 @@ namespace Content.Server.Construction.Completions
var transform = entityManager.GetComponent<TransformComponent>(uid);
var machine = entityManager.SpawnEntity(boardComponent.Prototype, transform.Coordinates);
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(machine).LocalRotation = transform.LocalRotation;
entityManager.GetComponent<TransformComponent>(machine).LocalRotation = transform.LocalRotation;
var boardContainer = machine.EnsureContainer<Container>(MachineFrameComponent.BoardContainer, out var existed);
@@ -92,14 +92,14 @@ namespace Content.Server.Construction.Completions
}
var constructionSystem = entityManager.EntitySysManager.GetEntitySystem<ConstructionSystem>();
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(machine, out ConstructionComponent? construction))
if (entityManager.TryGetComponent(machine, out ConstructionComponent? construction))
{
// We only add these two container. If some construction needs to take other containers into account, fix this.
constructionSystem.AddContainer(machine, MachineFrameComponent.BoardContainer, construction);
constructionSystem.AddContainer(machine, MachineFrameComponent.PartContainer, construction);
}
if (IoCManager.Resolve<IEntityManager>().TryGetComponent(machine, out MachineComponent? machineComp))
if (entityManager.TryGetComponent(machine, out MachineComponent? machineComp))
{
machineComp.RefreshParts();
}

View File

@@ -22,7 +22,7 @@ namespace Content.Server.Construction.Completions
foreach (var contained in container.ContainedEntities.ToArray())
{
if(container.Remove(contained))
IoCManager.Resolve<IEntityManager>().QueueDeleteEntity(contained);
entityManager.QueueDeleteEntity(contained);
}
}
}

View File

@@ -25,8 +25,9 @@ namespace Content.Server.Construction.Completions
foreach (var contained in container.ContainedEntities.ToArray())
{
container.ForceRemove(contained);
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(contained).Coordinates = transform.Coordinates;
IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(contained).AttachToGridOrMap();
var cTransform = entityManager.GetComponent<TransformComponent>(contained);
cTransform.Coordinates = transform.Coordinates;
cTransform.AttachToGridOrMap();
}
}
}

View File

@@ -26,7 +26,7 @@ namespace Content.Server.Construction.Completions
if (EntityPrototypeHelpers.HasComponent<StackComponent>(Prototype))
{
var stackEnt = entityManager.SpawnEntity(Prototype, coordinates);
var stack = IoCManager.Resolve<IEntityManager>().GetComponent<StackComponent>(stackEnt);
var stack = entityManager.GetComponent<StackComponent>(stackEnt);
entityManager.EntitySysManager.GetEntitySystem<StackSystem>().SetCount(stackEnt, Amount, stack);
}
else

View File

@@ -11,6 +11,8 @@ namespace Content.Server.Construction.Components
[RegisterComponent]
public class MachineComponent : Component, IMapInit
{
[Dependency] private readonly IEntityManager _entMan = default!;
public override string Name => "Machine";
[DataField("board")]
@@ -31,14 +33,14 @@ namespace Content.Server.Construction.Components
{
foreach (var entity in _partContainer.ContainedEntities)
{
if (IoCManager.Resolve<IEntityManager>().TryGetComponent<MachinePartComponent?>(entity, out var machinePart))
if (_entMan.TryGetComponent<MachinePartComponent?>(entity, out var machinePart))
yield return machinePart;
}
}
public void RefreshParts()
{
foreach (var refreshable in IoCManager.Resolve<IEntityManager>().GetComponents<IRefreshParts>(Owner))
foreach (var refreshable in _entMan.GetComponents<IRefreshParts>(Owner))
{
refreshable.RefreshParts(GetAllParts());
}
@@ -53,7 +55,7 @@ namespace Content.Server.Construction.Components
if (string.IsNullOrEmpty(BoardPrototype))
return;
var entityManager = IoCManager.Resolve<IEntityManager>();
var entityManager = _entMan;
if (existedBoard || existedParts)
{
@@ -62,14 +64,14 @@ namespace Content.Server.Construction.Components
return;
}
var board = entityManager.SpawnEntity(BoardPrototype, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates);
var board = entityManager.SpawnEntity(BoardPrototype, _entMan.GetComponent<TransformComponent>(Owner).Coordinates);
if (!_boardContainer.Insert(board))
{
throw new Exception($"Couldn't insert board with prototype {BoardPrototype} to machine with prototype {IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner).EntityPrototype?.ID ?? "N/A"}!");
throw new Exception($"Couldn't insert board with prototype {BoardPrototype} to machine with prototype {_entMan.GetComponent<MetaDataComponent>(Owner).EntityPrototype?.ID ?? "N/A"}!");
}
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent<MachineBoardComponent?>(board, out var machineBoard))
if (!_entMan.TryGetComponent<MachineBoardComponent?>(board, out var machineBoard))
{
throw new Exception($"Entity with prototype {BoardPrototype} doesn't have a {nameof(MachineBoardComponent)}!");
}
@@ -78,29 +80,29 @@ namespace Content.Server.Construction.Components
{
for (var i = 0; i < amount; i++)
{
var p = entityManager.SpawnEntity(MachinePartComponent.Prototypes[part], IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates);
var p = entityManager.SpawnEntity(MachinePartComponent.Prototypes[part], _entMan.GetComponent<TransformComponent>(Owner).Coordinates);
if (!partContainer.Insert(p))
throw new Exception($"Couldn't insert machine part of type {part} to machine with prototype {IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner).EntityPrototype?.ID ?? "N/A"}!");
throw new Exception($"Couldn't insert machine part of type {part} to machine with prototype {_entMan.GetComponent<MetaDataComponent>(Owner).EntityPrototype?.ID ?? "N/A"}!");
}
}
foreach (var (stackType, amount) in machineBoard.MaterialRequirements)
{
var stack = EntitySystem.Get<StackSystem>().Spawn(amount, stackType, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates);
var stack = EntitySystem.Get<StackSystem>().Spawn(amount, stackType, _entMan.GetComponent<TransformComponent>(Owner).Coordinates);
if (!partContainer.Insert(stack))
throw new Exception($"Couldn't insert machine material of type {stackType} to machine with prototype {IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner).EntityPrototype?.ID ?? "N/A"}");
throw new Exception($"Couldn't insert machine material of type {stackType} to machine with prototype {_entMan.GetComponent<MetaDataComponent>(Owner).EntityPrototype?.ID ?? "N/A"}");
}
foreach (var (compName, info) in machineBoard.ComponentRequirements)
{
for (var i = 0; i < info.Amount; i++)
{
var c = entityManager.SpawnEntity(info.DefaultPrototype, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates);
var c = entityManager.SpawnEntity(info.DefaultPrototype, _entMan.GetComponent<TransformComponent>(Owner).Coordinates);
if(!partContainer.Insert(c))
throw new Exception($"Couldn't insert machine component part with default prototype '{compName}' to machine with prototype {IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner).EntityPrototype?.ID ?? "N/A"}");
throw new Exception($"Couldn't insert machine component part with default prototype '{compName}' to machine with prototype {_entMan.GetComponent<MetaDataComponent>(Owner).EntityPrototype?.ID ?? "N/A"}");
}
}
@@ -108,10 +110,10 @@ namespace Content.Server.Construction.Components
{
for (var i = 0; i < info.Amount; i++)
{
var c = entityManager.SpawnEntity(info.DefaultPrototype, IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates);
var c = entityManager.SpawnEntity(info.DefaultPrototype, _entMan.GetComponent<TransformComponent>(Owner).Coordinates);
if(!partContainer.Insert(c))
throw new Exception($"Couldn't insert machine component part with default prototype '{tagName}' to machine with prototype {IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner).EntityPrototype?.ID ?? "N/A"}");
throw new Exception($"Couldn't insert machine component part with default prototype '{tagName}' to machine with prototype {_entMan.GetComponent<MetaDataComponent>(Owner).EntityPrototype?.ID ?? "N/A"}");
}
}
}

View File

@@ -19,6 +19,8 @@ namespace Content.Server.Construction.Components
[RegisterComponent]
public class WelderRefinableComponent : Component, IInteractUsing
{
[Dependency] private readonly IEntityManager _entMan = default!;
[DataField("refineResult")]
private HashSet<string>? _refineResult = new() { };
@@ -38,7 +40,7 @@ namespace Content.Server.Construction.Components
async Task<bool> IInteractUsing.InteractUsing(InteractUsingEventArgs eventArgs)
{
// check if object is welder
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(eventArgs.Using, out ToolComponent? tool))
if (!_entMan.TryGetComponent(eventArgs.Using, out ToolComponent? tool))
return false;
// check if someone is already welding object
@@ -57,17 +59,17 @@ namespace Content.Server.Construction.Components
}
// get last owner coordinates and delete it
var resultPosition = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(Owner).Coordinates;
IoCManager.Resolve<IEntityManager>().DeleteEntity(Owner);
var resultPosition = _entMan.GetComponent<TransformComponent>(Owner).Coordinates;
_entMan.DeleteEntity(Owner);
// spawn each result after refine
foreach (var result in _refineResult!)
{
var droppedEnt = IoCManager.Resolve<IEntityManager>().SpawnEntity(result, resultPosition);
var droppedEnt = _entMan.SpawnEntity(result, resultPosition);
// TODO: If something has a stack... Just use a prototype with a single thing in the stack.
// This is not a good way to do it.
if (IoCManager.Resolve<IEntityManager>().TryGetComponent<StackComponent?>(droppedEnt, out var stack))
if (_entMan.TryGetComponent<StackComponent?>(droppedEnt, out var stack))
EntitySystem.Get<StackSystem>().SetCount(droppedEnt,1, stack);
}

View File

@@ -31,14 +31,16 @@ namespace Content.Server.Construction.Conditions
{
var entity = args.Examined;
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out AirlockComponent? airlock)) return false;
var entMan = IoCManager.Resolve<IEntityManager>();
if (!entMan.TryGetComponent(entity, out AirlockComponent? airlock)) return false;
if (airlock.BoltsDown != Value)
{
if (Value == true)
args.PushMarkup(Loc.GetString("construction-examine-condition-airlock-bolt", ("entityName", Name: IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity).EntityName)) + "\n");
args.PushMarkup(Loc.GetString("construction-examine-condition-airlock-bolt", ("entityName", Name: entMan.GetComponent<MetaDataComponent>(entity).EntityName)) + "\n");
else
args.PushMarkup(Loc.GetString("construction-examine-condition-airlock-unbolt", ("entityName", Name: IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity).EntityName)) + "\n");
args.PushMarkup(Loc.GetString("construction-examine-condition-airlock-unbolt", ("entityName", Name: entMan.GetComponent<MetaDataComponent>(entity).EntityName)) + "\n");
return true;
}

View File

@@ -56,7 +56,7 @@ namespace Content.Server.Construction.Conditions
foreach (var ent in entities)
{
if (IoCManager.Resolve<IEntityManager>().HasComponent(ent, type))
if (entityManager.HasComponent(ent, type))
return HasEntity;
}

View File

@@ -29,14 +29,16 @@ namespace Content.Server.Construction.Conditions
{
var entity = args.Examined;
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(entity, out ServerDoorComponent? door)) return false;
var entMan = IoCManager.Resolve<IEntityManager>();
if (!entMan.TryGetComponent(entity, out ServerDoorComponent? door)) return false;
if (door.IsWeldedShut != Welded)
{
if (Welded == true)
args.PushMarkup(Loc.GetString("construction-examine-condition-door-weld", ("entityName", Name: IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity).EntityName)) + "\n");
args.PushMarkup(Loc.GetString("construction-examine-condition-door-weld", ("entityName", Name: entMan.GetComponent<MetaDataComponent>(entity).EntityName)) + "\n");
else
args.PushMarkup(Loc.GetString("construction-examine-condition-door-unweld", ("entityName", Name: IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity).EntityName)) + "\n");
args.PushMarkup(Loc.GetString("construction-examine-condition-door-unweld", ("entityName", Name: entMan.GetComponent<MetaDataComponent>(entity).EntityName)) + "\n");
return true;
}

View File

@@ -28,12 +28,14 @@ namespace Content.Server.Construction.Conditions
{
var entity = args.Examined;
var anchored = IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity).Anchored;
switch (Anchored)
{
case true when !IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity).Anchored:
case true when !anchored:
args.PushMarkup(Loc.GetString("construction-examine-condition-entity-anchored"));
return true;
case false when IoCManager.Resolve<IEntityManager>().GetComponent<TransformComponent>(entity).Anchored:
case false when anchored:
args.PushMarkup(Loc.GetString("construction-examine-condition-entity-unanchored"));
return true;
}