Remove many resolves on Content.Server
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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++;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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))
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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++;
|
||||
}
|
||||
|
||||
|
||||
@@ -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}.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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";
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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];
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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}!");
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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++;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user