Inline Deleted
This commit is contained in:
@@ -40,7 +40,7 @@ namespace Content.Client.AI
|
|||||||
var deletedEntities = new List<IEntity>(0);
|
var deletedEntities = new List<IEntity>(0);
|
||||||
foreach (var (entity, panel) in _aiBoxes)
|
foreach (var (entity, panel) in _aiBoxes)
|
||||||
{
|
{
|
||||||
if (entity.Deleted)
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
{
|
{
|
||||||
deletedEntities.Add(entity);
|
deletedEntities.Add(entity);
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ namespace Content.Client.Chat.UI
|
|||||||
Modulate = Color.White;
|
Modulate = Color.White;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_senderEntity.Deleted || _timeLeft <= 0)
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(_senderEntity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_senderEntity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted || _timeLeft <= 0)
|
||||||
{
|
{
|
||||||
// Timer spawn to prevent concurrent modification exception.
|
// Timer spawn to prevent concurrent modification exception.
|
||||||
Timer.Spawn(0, Die);
|
Timer.Spawn(0, Die);
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ using Content.Client.Stylesheets;
|
|||||||
using Robust.Client.GameObjects;
|
using Robust.Client.GameObjects;
|
||||||
using Robust.Client.UserInterface.Controls;
|
using Robust.Client.UserInterface.Controls;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
using Robust.Shared.Maths;
|
using Robust.Shared.Maths;
|
||||||
|
|
||||||
namespace Content.Client.ContextMenu.UI
|
namespace Content.Client.ContextMenu.UI
|
||||||
@@ -57,7 +58,7 @@ namespace Content.Client.ContextMenu.UI
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public void UpdateEntity(IEntity? entity = null)
|
public void UpdateEntity(IEntity? entity = null)
|
||||||
{
|
{
|
||||||
if (Entity != null && !Entity.Deleted)
|
if (Entity != null && !((!IoCManager.Resolve<IEntityManager>().EntityExists(Entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted))
|
||||||
entity ??= Entity;
|
entity ??= Entity;
|
||||||
|
|
||||||
EntityIcon.Sprite = entity?.GetComponentOrNull<ISpriteComponent>();
|
EntityIcon.Sprite = entity?.GetComponentOrNull<ISpriteComponent>();
|
||||||
|
|||||||
@@ -184,7 +184,7 @@ namespace Content.Client.ContextMenu.UI
|
|||||||
|
|
||||||
foreach (var entity in Elements.Keys.ToList())
|
foreach (var entity in Elements.Keys.ToList())
|
||||||
{
|
{
|
||||||
if (entity.Deleted || !ignoreFov && !_examineSystem.CanExamine(player, entity))
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted || !ignoreFov && !_examineSystem.CanExamine(player, entity))
|
||||||
RemoveEntity(entity);
|
RemoveEntity(entity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -335,7 +335,7 @@ namespace Content.Client.ContextMenu.UI
|
|||||||
|
|
||||||
if (entityElement.Entity != null)
|
if (entityElement.Entity != null)
|
||||||
{
|
{
|
||||||
if (!entityElement.Entity.Deleted)
|
if (!((!IoCManager.Resolve<IEntityManager>().EntityExists(entityElement.Entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entityElement.Entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted))
|
||||||
return entityElement.Entity;
|
return entityElement.Entity;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ namespace Content.Client.DoAfter
|
|||||||
var currentTime = _gameTiming.CurTime;
|
var currentTime = _gameTiming.CurTime;
|
||||||
|
|
||||||
// Can't see any I guess?
|
// Can't see any I guess?
|
||||||
if (_attachedEntity == null || _attachedEntity.Deleted)
|
if (_attachedEntity == null || (!IoCManager.Resolve<IEntityManager>().EntityExists(_attachedEntity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_attachedEntity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var viewbox = _eyeManager.GetWorldViewport().Enlarged(2.0f);
|
var viewbox = _eyeManager.GetWorldViewport().Enlarged(2.0f);
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ namespace Content.Client.DragDrop
|
|||||||
|
|
||||||
private bool OnBeginDrag()
|
private bool OnBeginDrag()
|
||||||
{
|
{
|
||||||
if (_dragDropHelper.Dragged == null || _dragDropHelper.Dragged.Deleted)
|
if (_dragDropHelper.Dragged == null || (!IoCManager.Resolve<IEntityManager>().EntityExists(_dragDropHelper.Dragged.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_dragDropHelper.Dragged.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
{
|
{
|
||||||
// something happened to the clicked entity or we moved the mouse off the target so
|
// something happened to the clicked entity or we moved the mouse off the target so
|
||||||
// we shouldn't replay the original click
|
// we shouldn't replay the original click
|
||||||
@@ -213,7 +213,7 @@ namespace Content.Client.DragDrop
|
|||||||
|
|
||||||
private bool OnContinueDrag(float frameTime)
|
private bool OnContinueDrag(float frameTime)
|
||||||
{
|
{
|
||||||
if (_dragDropHelper.Dragged == null || _dragDropHelper.Dragged.Deleted)
|
if (_dragDropHelper.Dragged == null || (!IoCManager.Resolve<IEntityManager>().EntityExists(_dragDropHelper.Dragged.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_dragDropHelper.Dragged.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -352,9 +352,9 @@ namespace Content.Client.DragDrop
|
|||||||
private void HighlightTargets()
|
private void HighlightTargets()
|
||||||
{
|
{
|
||||||
if (_dragDropHelper.Dragged == null ||
|
if (_dragDropHelper.Dragged == null ||
|
||||||
_dragDropHelper.Dragged.Deleted ||
|
(!IoCManager.Resolve<IEntityManager>().EntityExists(_dragDropHelper.Dragged.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_dragDropHelper.Dragged.Uid).EntityLifeStage) >= EntityLifeStage.Deleted ||
|
||||||
_dragShadow == null ||
|
_dragShadow == null ||
|
||||||
_dragShadow.Deleted)
|
(!IoCManager.Resolve<IEntityManager>().EntityExists(_dragShadow.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_dragShadow.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
{
|
{
|
||||||
Logger.Warning("Programming error. Can't highlight drag and drop targets, not currently " +
|
Logger.Warning("Programming error. Can't highlight drag and drop targets, not currently " +
|
||||||
"dragging anything or dragged entity / shadow was deleted.");
|
"dragging anything or dragged entity / shadow was deleted.");
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ namespace Content.Client.Entry
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public static void DetachPlayerFromEntity(EntityDetachedEventArgs eventArgs)
|
public static void DetachPlayerFromEntity(EntityDetachedEventArgs eventArgs)
|
||||||
{
|
{
|
||||||
if (!eventArgs.OldEntity.Deleted)
|
if (!((!IoCManager.Resolve<IEntityManager>().EntityExists(eventArgs.OldEntity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(eventArgs.OldEntity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted))
|
||||||
{
|
{
|
||||||
eventArgs.OldEntity.RemoveComponent<CharacterInterfaceComponent>();
|
eventArgs.OldEntity.RemoveComponent<CharacterInterfaceComponent>();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ namespace Content.Client.HealthOverlay
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_attachedEntity == null || _attachedEntity.Deleted)
|
if (_attachedEntity == null || (!IoCManager.Resolve<IEntityManager>().EntityExists(_attachedEntity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_attachedEntity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ namespace Content.Client.HealthOverlay.UI
|
|||||||
|
|
||||||
private void MoreFrameUpdate(FrameEventArgs args)
|
private void MoreFrameUpdate(FrameEventArgs args)
|
||||||
{
|
{
|
||||||
if (Entity.Deleted)
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(Entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -138,7 +138,7 @@ namespace Content.Client.HealthOverlay.UI
|
|||||||
|
|
||||||
MoreFrameUpdate(args);
|
MoreFrameUpdate(args);
|
||||||
|
|
||||||
if (Entity.Deleted ||
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(Entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted ||
|
||||||
_eyeManager.CurrentMap != Entity.Transform.MapID)
|
_eyeManager.CurrentMap != Entity.Transform.MapID)
|
||||||
{
|
{
|
||||||
Visible = false;
|
Visible = false;
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ namespace Content.Client.Items.Managers
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (entity == null ||
|
if (entity == null ||
|
||||||
entity.Deleted ||
|
(!IoCManager.Resolve<IEntityManager>().EntityExists(entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted ||
|
||||||
!entity.TryGetComponent(out ItemCooldownComponent? cooldown) ||
|
!entity.TryGetComponent(out ItemCooldownComponent? cooldown) ||
|
||||||
!cooldown.CooldownStart.HasValue ||
|
!cooldown.CooldownStart.HasValue ||
|
||||||
!cooldown.CooldownEnd.HasValue)
|
!cooldown.CooldownEnd.HasValue)
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ namespace Content.Client.Kitchen.UI
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entity.Deleted)
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ namespace Content.Client.Viewport
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_lastHoveredEntity != null && !_lastHoveredEntity.Deleted &&
|
if (_lastHoveredEntity != null && !((!IoCManager.Resolve<IEntityManager>().EntityExists(_lastHoveredEntity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_lastHoveredEntity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted) &&
|
||||||
_lastHoveredEntity.TryGetComponent(out outline))
|
_lastHoveredEntity.TryGetComponent(out outline))
|
||||||
{
|
{
|
||||||
outline.OnMouseLeave();
|
outline.OnMouseLeave();
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ namespace Content.Client.Weapons.Melee
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!attacker.Deleted)
|
if (!((!IoCManager.Resolve<IEntityManager>().EntityExists(attacker.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(attacker.Uid).EntityLifeStage) >= EntityLifeStage.Deleted))
|
||||||
{
|
{
|
||||||
var lunge = attacker.EnsureComponent<MeleeLungeComponent>();
|
var lunge = attacker.EnsureComponent<MeleeLungeComponent>();
|
||||||
lunge.SetData(msg.Angle);
|
lunge.SetData(msg.Angle);
|
||||||
@@ -88,7 +88,7 @@ namespace Content.Client.Weapons.Melee
|
|||||||
|
|
||||||
foreach (var uid in msg.Hits)
|
foreach (var uid in msg.Hits)
|
||||||
{
|
{
|
||||||
if (!EntityManager.TryGetEntity(uid, out var hitEntity) || hitEntity.Deleted)
|
if (!EntityManager.TryGetEntity(uid, out var hitEntity) || (!IoCManager.Resolve<IEntityManager>().EntityExists(hitEntity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(hitEntity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ using Content.Shared.Coordinates;
|
|||||||
using Content.Shared.FixedPoint;
|
using Content.Shared.FixedPoint;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
using Robust.Shared.Map;
|
using Robust.Shared.Map;
|
||||||
using Robust.Shared.Timing;
|
using Robust.Shared.Timing;
|
||||||
|
|
||||||
@@ -156,7 +157,7 @@ namespace Content.IntegrationTests.Tests.Fluids
|
|||||||
Assert.True(puddle.Owner.Paused);
|
Assert.True(puddle.Owner.Paused);
|
||||||
|
|
||||||
// Check that the puddle still exists
|
// Check that the puddle still exists
|
||||||
Assert.False(puddle.Owner.Deleted);
|
Assert.False((!IoCManager.Resolve<IEntityManager>().EntityExists(puddle.Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(puddle.Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Unpause the map
|
// Unpause the map
|
||||||
@@ -170,7 +171,7 @@ namespace Content.IntegrationTests.Tests.Fluids
|
|||||||
Assert.False(puddle.Owner.Paused);
|
Assert.False(puddle.Owner.Paused);
|
||||||
|
|
||||||
// Check that the puddle still exists
|
// Check that the puddle still exists
|
||||||
Assert.False(puddle.Owner.Deleted);
|
Assert.False((!IoCManager.Resolve<IEntityManager>().EntityExists(puddle.Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(puddle.Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Wait enough time for it to evaporate
|
// Wait enough time for it to evaporate
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ namespace Content.Server.AI.EntitySystems
|
|||||||
foreach (var message in _queuedMobStateMessages)
|
foreach (var message in _queuedMobStateMessages)
|
||||||
{
|
{
|
||||||
// TODO: Need to generecise this but that will be part of a larger cleanup later anyway.
|
// TODO: Need to generecise this but that will be part of a larger cleanup later anyway.
|
||||||
if (message.Entity.Deleted ||
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(message.Entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(message.Entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted ||
|
||||||
!message.Entity.TryGetComponent(out UtilityAi? controller))
|
!message.Entity.TryGetComponent(out UtilityAi? controller))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ namespace Content.Server.AI.Operators.Inventory
|
|||||||
|
|
||||||
public override Outcome Execute(float frameTime)
|
public override Outcome Execute(float frameTime)
|
||||||
{
|
{
|
||||||
if (_target.Deleted ||
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(_target.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_target.Uid).EntityLifeStage) >= EntityLifeStage.Deleted ||
|
||||||
!_target.HasComponent<ItemComponent>() ||
|
!_target.HasComponent<ItemComponent>() ||
|
||||||
_target.IsInContainer() ||
|
_target.IsInContainer() ||
|
||||||
!_owner.InRangeUnobstructed(_target, popup: true))
|
!_owner.InRangeUnobstructed(_target, popup: true))
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ namespace Content.Server.AI.Operators.Nutrition
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Also have this check storage a la backpack etc.
|
// TODO: Also have this check storage a la backpack etc.
|
||||||
if (_target.Deleted ||
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(_target.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_target.Uid).EntityLifeStage) >= EntityLifeStage.Deleted ||
|
||||||
!_owner.TryGetComponent(out HandsComponent? handsComponent) ||
|
!_owner.TryGetComponent(out HandsComponent? handsComponent) ||
|
||||||
!_target.TryGetComponent(out ItemComponent? itemComponent))
|
!_target.TryGetComponent(out ItemComponent? itemComponent))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ namespace Content.Server.AI.Operators.Nutrition
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Also have this check storage a la backpack etc.
|
// TODO: Also have this check storage a la backpack etc.
|
||||||
if (_target.Deleted ||
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(_target.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_target.Uid).EntityLifeStage) >= EntityLifeStage.Deleted ||
|
||||||
!_owner.TryGetComponent(out HandsComponent? handsComponent) ||
|
!_owner.TryGetComponent(out HandsComponent? handsComponent) ||
|
||||||
!_target.TryGetComponent(out ItemComponent? itemComponent))
|
!_target.TryGetComponent(out ItemComponent? itemComponent))
|
||||||
{
|
{
|
||||||
@@ -57,7 +57,7 @@ namespace Content.Server.AI.Operators.Nutrition
|
|||||||
return Outcome.Failed;
|
return Outcome.Failed;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_target.Deleted ||
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(_target.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_target.Uid).EntityLifeStage) >= EntityLifeStage.Deleted ||
|
||||||
foodComponent.UsesRemaining == 0 ||
|
foodComponent.UsesRemaining == 0 ||
|
||||||
_owner.TryGetComponent(out HungerComponent? hungerComponent) &&
|
_owner.TryGetComponent(out HungerComponent? hungerComponent) &&
|
||||||
hungerComponent.CurrentHunger >= hungerComponent.HungerThresholds[HungerThreshold.Okay])
|
hungerComponent.CurrentHunger >= hungerComponent.HungerThresholds[HungerThreshold.Okay])
|
||||||
|
|||||||
@@ -265,7 +265,7 @@ namespace Content.Server.AI.Pathfinding
|
|||||||
/// <param name="entity"></param>
|
/// <param name="entity"></param>
|
||||||
private void HandleEntityAdd(IEntity entity)
|
private void HandleEntityAdd(IEntity entity)
|
||||||
{
|
{
|
||||||
if (entity.Deleted ||
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted ||
|
||||||
_lastKnownPositions.ContainsKey(entity) ||
|
_lastKnownPositions.ContainsKey(entity) ||
|
||||||
!entity.TryGetComponent(out IPhysBody? physics) ||
|
!entity.TryGetComponent(out IPhysBody? physics) ||
|
||||||
!PathfindingNode.IsRelevant(entity, physics))
|
!PathfindingNode.IsRelevant(entity, physics))
|
||||||
@@ -305,7 +305,7 @@ namespace Content.Server.AI.Pathfinding
|
|||||||
private void HandleEntityMove(MoveEvent moveEvent)
|
private void HandleEntityMove(MoveEvent moveEvent)
|
||||||
{
|
{
|
||||||
// If we've moved to space or the likes then remove us.
|
// If we've moved to space or the likes then remove us.
|
||||||
if (moveEvent.Sender.Deleted ||
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(moveEvent.Sender.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(moveEvent.Sender.Uid).EntityLifeStage) >= EntityLifeStage.Deleted ||
|
||||||
!moveEvent.Sender.TryGetComponent(out IPhysBody? physics) ||
|
!moveEvent.Sender.TryGetComponent(out IPhysBody? physics) ||
|
||||||
!PathfindingNode.IsRelevant(moveEvent.Sender, physics) ||
|
!PathfindingNode.IsRelevant(moveEvent.Sender, physics) ||
|
||||||
moveEvent.NewPosition.GetGridId(EntityManager) == GridId.Invalid)
|
moveEvent.NewPosition.GetGridId(EntityManager) == GridId.Invalid)
|
||||||
|
|||||||
@@ -248,7 +248,7 @@ namespace Content.Server.AI.Steering
|
|||||||
private SteeringStatus Steer(IEntity entity, IAiSteeringRequest steeringRequest, float frameTime)
|
private SteeringStatus Steer(IEntity entity, IAiSteeringRequest steeringRequest, float frameTime)
|
||||||
{
|
{
|
||||||
// Main optimisation to be done below is the redundant calls and adding more variables
|
// Main optimisation to be done below is the redundant calls and adding more variables
|
||||||
if (entity.Deleted ||
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted ||
|
||||||
!entity.TryGetComponent(out AiControllerComponent? controller) ||
|
!entity.TryGetComponent(out AiControllerComponent? controller) ||
|
||||||
!EntitySystem.Get<ActionBlockerSystem>().CanMove(entity.Uid) ||
|
!EntitySystem.Get<ActionBlockerSystem>().CanMove(entity.Uid) ||
|
||||||
!entity.Transform.GridID.IsValid())
|
!entity.Transform.GridID.IsValid())
|
||||||
@@ -258,7 +258,7 @@ namespace Content.Server.AI.Steering
|
|||||||
|
|
||||||
var entitySteering = steeringRequest as EntityTargetSteeringRequest;
|
var entitySteering = steeringRequest as EntityTargetSteeringRequest;
|
||||||
|
|
||||||
if (entitySteering != null && entitySteering.Target.Deleted)
|
if (entitySteering != null && (!IoCManager.Resolve<IEntityManager>().EntityExists(entitySteering.Target.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entitySteering.Target.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
{
|
{
|
||||||
controller.VelocityDir = Vector2.Zero;
|
controller.VelocityDir = Vector2.Zero;
|
||||||
return SteeringStatus.NoPath;
|
return SteeringStatus.NoPath;
|
||||||
@@ -660,7 +660,7 @@ namespace Content.Server.AI.Steering
|
|||||||
// err for now we'll just assume the first entity is the center and just add a vector for it
|
// err for now we'll just assume the first entity is the center and just add a vector for it
|
||||||
|
|
||||||
//Pathfinding updates are deferred so this may not be done yet.
|
//Pathfinding updates are deferred so this may not be done yet.
|
||||||
if (physicsEntity.Deleted) continue;
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(physicsEntity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(physicsEntity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted) continue;
|
||||||
|
|
||||||
// if we're moving in the same direction then ignore
|
// if we're moving in the same direction then ignore
|
||||||
// So if 2 entities are moving towards each other and both detect a collision they'll both move in the same direction
|
// So if 2 entities are moving towards each other and both detect a collision they'll both move in the same direction
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
using Content.Server.AI.WorldState;
|
using Content.Server.AI.WorldState;
|
||||||
using Content.Server.AI.WorldState.States;
|
using Content.Server.AI.WorldState.States;
|
||||||
using Content.Shared.Damage;
|
using Content.Shared.Damage;
|
||||||
|
using Robust.Shared.GameObjects;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
|
|
||||||
namespace Content.Server.AI.Utility.Considerations.Combat
|
namespace Content.Server.AI.Utility.Considerations.Combat
|
||||||
{
|
{
|
||||||
@@ -10,7 +12,7 @@ namespace Content.Server.AI.Utility.Considerations.Combat
|
|||||||
{
|
{
|
||||||
var target = context.GetState<TargetEntityState>().GetValue();
|
var target = context.GetState<TargetEntityState>().GetValue();
|
||||||
|
|
||||||
if (target == null || target.Deleted || !target.TryGetComponent(out DamageableComponent? damageableComponent))
|
if (target == null || (!IoCManager.Resolve<IEntityManager>().EntityExists(target.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(target.Uid).EntityLifeStage) >= EntityLifeStage.Deleted || !target.TryGetComponent(out DamageableComponent? damageableComponent))
|
||||||
{
|
{
|
||||||
return 0.0f;
|
return 0.0f;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
using Content.Server.AI.WorldState;
|
using Content.Server.AI.WorldState;
|
||||||
using Content.Server.AI.WorldState.States;
|
using Content.Server.AI.WorldState.States;
|
||||||
|
using Robust.Shared.GameObjects;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
|
|
||||||
namespace Content.Server.AI.Utility.Considerations.Movement
|
namespace Content.Server.AI.Utility.Considerations.Movement
|
||||||
{
|
{
|
||||||
@@ -9,7 +11,7 @@ namespace Content.Server.AI.Utility.Considerations.Movement
|
|||||||
{
|
{
|
||||||
var self = context.GetState<SelfState>().GetValue();
|
var self = context.GetState<SelfState>().GetValue();
|
||||||
var target = context.GetState<TargetEntityState>().GetValue();
|
var target = context.GetState<TargetEntityState>().GetValue();
|
||||||
if (target == null || target.Deleted || target.Transform.GridID != self?.Transform.GridID)
|
if (target == null || (!IoCManager.Resolve<IEntityManager>().EntityExists(target.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(target.Uid).EntityLifeStage) >= EntityLifeStage.Deleted || target.Transform.GridID != self?.Transform.GridID)
|
||||||
{
|
{
|
||||||
return 0.0f;
|
return 0.0f;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ using Content.Server.AI.WorldState.States;
|
|||||||
using Content.Server.Chemistry.EntitySystems;
|
using Content.Server.Chemistry.EntitySystems;
|
||||||
using Content.Server.Nutrition.Components;
|
using Content.Server.Nutrition.Components;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
|
|
||||||
namespace Content.Server.AI.Utility.Considerations.Nutrition.Drink
|
namespace Content.Server.AI.Utility.Considerations.Nutrition.Drink
|
||||||
{
|
{
|
||||||
@@ -13,7 +14,7 @@ namespace Content.Server.AI.Utility.Considerations.Nutrition.Drink
|
|||||||
var target = context.GetState<TargetEntityState>().GetValue();
|
var target = context.GetState<TargetEntityState>().GetValue();
|
||||||
|
|
||||||
if (target == null
|
if (target == null
|
||||||
|| target.Deleted
|
|| (!IoCManager.Resolve<IEntityManager>().EntityExists(target.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(target.Uid).EntityLifeStage) >= EntityLifeStage.Deleted
|
||||||
|| !EntitySystem.Get<SolutionContainerSystem>().TryGetSolution(target.Uid, DrinkComponent.DefaultSolutionName, out var drink))
|
|| !EntitySystem.Get<SolutionContainerSystem>().TryGetSolution(target.Uid, DrinkComponent.DefaultSolutionName, out var drink))
|
||||||
{
|
{
|
||||||
return 0.0f;
|
return 0.0f;
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ using Content.Server.AI.WorldState.States;
|
|||||||
using Content.Server.Chemistry.EntitySystems;
|
using Content.Server.Chemistry.EntitySystems;
|
||||||
using Content.Server.Nutrition.Components;
|
using Content.Server.Nutrition.Components;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
|
|
||||||
namespace Content.Server.AI.Utility.Considerations.Nutrition.Food
|
namespace Content.Server.AI.Utility.Considerations.Nutrition.Food
|
||||||
{
|
{
|
||||||
@@ -12,7 +13,7 @@ namespace Content.Server.AI.Utility.Considerations.Nutrition.Food
|
|||||||
{
|
{
|
||||||
var target = context.GetState<TargetEntityState>().GetValue();
|
var target = context.GetState<TargetEntityState>().GetValue();
|
||||||
|
|
||||||
if (target == null || target.Deleted || !target.TryGetComponent<FoodComponent>(out var foodComp) ||
|
if (target == null || (!IoCManager.Resolve<IEntityManager>().EntityExists(target.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(target.Uid).EntityLifeStage) >= EntityLifeStage.Deleted || !target.TryGetComponent<FoodComponent>(out var foodComp) ||
|
||||||
!EntitySystem.Get<SolutionContainerSystem>().TryGetSolution(target.Uid, foodComp.SolutionName, out var food))
|
!EntitySystem.Get<SolutionContainerSystem>().TryGetSolution(target.Uid, foodComp.SolutionName, out var food))
|
||||||
{
|
{
|
||||||
return 0.0f;
|
return 0.0f;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ using System.Collections.Generic;
|
|||||||
using Content.Server.Hands.Components;
|
using Content.Server.Hands.Components;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
|
|
||||||
namespace Content.Server.AI.WorldState.States.Inventory
|
namespace Content.Server.AI.WorldState.States.Inventory
|
||||||
{
|
{
|
||||||
@@ -16,7 +17,7 @@ namespace Content.Server.AI.WorldState.States.Inventory
|
|||||||
{
|
{
|
||||||
foreach (var item in handsComponent.GetAllHeldItems())
|
foreach (var item in handsComponent.GetAllHeldItems())
|
||||||
{
|
{
|
||||||
if (item.Owner.Deleted)
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(item.Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(item.Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
yield return item.Owner;
|
yield return item.Owner;
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ using Robust.Server.Player;
|
|||||||
using Robust.Shared.Audio;
|
using Robust.Shared.Audio;
|
||||||
using Robust.Shared.Containers;
|
using Robust.Shared.Containers;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
using Robust.Shared.Localization;
|
using Robust.Shared.Localization;
|
||||||
using Robust.Shared.Player;
|
using Robust.Shared.Player;
|
||||||
using Robust.Shared.Serialization.Manager.Attributes;
|
using Robust.Shared.Serialization.Manager.Attributes;
|
||||||
@@ -229,7 +230,7 @@ namespace Content.Server.Atmos.Components
|
|||||||
|
|
||||||
private InternalsComponent? GetInternalsComponent(IEntity? owner = null)
|
private InternalsComponent? GetInternalsComponent(IEntity? owner = null)
|
||||||
{
|
{
|
||||||
if (Owner.Deleted) return null;
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted) return null;
|
||||||
if (owner != null) return owner.GetComponentOrNull<InternalsComponent>();
|
if (owner != null) return owner.GetComponentOrNull<InternalsComponent>();
|
||||||
return Owner.TryGetContainer(out var container)
|
return Owner.TryGetContainer(out var container)
|
||||||
? container.Owner.GetComponentOrNull<InternalsComponent>()
|
? container.Owner.GetComponentOrNull<InternalsComponent>()
|
||||||
|
|||||||
@@ -421,7 +421,7 @@ namespace Content.Server.Botany.Components
|
|||||||
|
|
||||||
public bool DoHarvest(IEntity user)
|
public bool DoHarvest(IEntity user)
|
||||||
{
|
{
|
||||||
if (Seed == null || user.Deleted || !EntitySystem.Get<ActionBlockerSystem>().CanInteract(user.Uid))
|
if (Seed == null || (!IoCManager.Resolve<IEntityManager>().EntityExists(user.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(user.Uid).EntityLifeStage) >= EntityLifeStage.Deleted || !EntitySystem.Get<ActionBlockerSystem>().CanInteract(user.Uid))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (Harvest && !Dead)
|
if (Harvest && !Dead)
|
||||||
@@ -651,7 +651,7 @@ namespace Content.Server.Botany.Components
|
|||||||
var user = eventArgs.User;
|
var user = eventArgs.User;
|
||||||
var usingItem = eventArgs.Using;
|
var usingItem = eventArgs.Using;
|
||||||
|
|
||||||
if (usingItem.Deleted || !EntitySystem.Get<ActionBlockerSystem>().CanInteract(user.Uid))
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(usingItem.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(usingItem.Uid).EntityLifeStage) >= EntityLifeStage.Deleted || !EntitySystem.Get<ActionBlockerSystem>().CanInteract(user.Uid))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (usingItem.TryGetComponent(out SeedComponent? seeds))
|
if (usingItem.TryGetComponent(out SeedComponent? seeds))
|
||||||
|
|||||||
@@ -87,14 +87,14 @@ namespace Content.Server.Cargo.Components
|
|||||||
spriteComponent.LayerSetState(0, "idle");
|
spriteComponent.LayerSetState(0, "idle");
|
||||||
Owner.SpawnTimer((int) (TeleportDelay * 1000), () =>
|
Owner.SpawnTimer((int) (TeleportDelay * 1000), () =>
|
||||||
{
|
{
|
||||||
if (!Deleted && !Owner.Deleted && _currentState == CargoTelepadState.Charging && _teleportQueue.Count > 0)
|
if (!Deleted && !((!IoCManager.Resolve<IEntityManager>().EntityExists(Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted) && _currentState == CargoTelepadState.Charging && _teleportQueue.Count > 0)
|
||||||
{
|
{
|
||||||
_currentState = CargoTelepadState.Teleporting;
|
_currentState = CargoTelepadState.Teleporting;
|
||||||
if (Owner.TryGetComponent<SpriteComponent>(out var spriteComponent) && spriteComponent.LayerCount > 0)
|
if (Owner.TryGetComponent<SpriteComponent>(out var spriteComponent) && spriteComponent.LayerCount > 0)
|
||||||
spriteComponent.LayerSetState(0, "beam");
|
spriteComponent.LayerSetState(0, "beam");
|
||||||
Owner.SpawnTimer((int) (TeleportDuration * 1000), () =>
|
Owner.SpawnTimer((int) (TeleportDuration * 1000), () =>
|
||||||
{
|
{
|
||||||
if (!Deleted && !Owner.Deleted && _currentState == CargoTelepadState.Teleporting && _teleportQueue.Count > 0)
|
if (!Deleted && !((!IoCManager.Resolve<IEntityManager>().EntityExists(Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted) && _currentState == CargoTelepadState.Teleporting && _teleportQueue.Count > 0)
|
||||||
{
|
{
|
||||||
SoundSystem.Play(Filter.Pvs(Owner), _teleportSound.GetSound(), Owner, AudioParams.Default.WithVolume(-8f));
|
SoundSystem.Play(Filter.Pvs(Owner), _teleportSound.GetSound(), Owner, AudioParams.Default.WithVolume(-8f));
|
||||||
SpawnProduct(_teleportQueue[0]);
|
SpawnProduct(_teleportQueue[0]);
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ namespace Content.Server.Chemistry.Components
|
|||||||
|
|
||||||
protected override void OnKill()
|
protected override void OnKill()
|
||||||
{
|
{
|
||||||
if (Owner.Deleted)
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
return;
|
return;
|
||||||
if (Owner.TryGetComponent(out AppearanceComponent? appearance))
|
if (Owner.TryGetComponent(out AppearanceComponent? appearance))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ using Content.Shared.Chemistry.Reagent;
|
|||||||
using Content.Shared.FixedPoint;
|
using Content.Shared.FixedPoint;
|
||||||
using Content.Shared.Smoking;
|
using Content.Shared.Smoking;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
|
|
||||||
namespace Content.Server.Chemistry.Components
|
namespace Content.Server.Chemistry.Components
|
||||||
{
|
{
|
||||||
@@ -55,7 +56,7 @@ namespace Content.Server.Chemistry.Components
|
|||||||
|
|
||||||
protected override void OnKill()
|
protected override void OnKill()
|
||||||
{
|
{
|
||||||
if (Owner.Deleted)
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
return;
|
return;
|
||||||
Owner.Delete();
|
Owner.Delete();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ namespace Content.Server.Conveyor
|
|||||||
//todo uuuhhh cache this
|
//todo uuuhhh cache this
|
||||||
foreach (var entity in _entityLookup.GetEntitiesIntersecting(comp.Owner, flags: LookupFlags.Approximate))
|
foreach (var entity in _entityLookup.GetEntitiesIntersecting(comp.Owner, flags: LookupFlags.Approximate))
|
||||||
{
|
{
|
||||||
if (entity.Deleted)
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ using Content.Shared.Interaction;
|
|||||||
using Content.Shared.Interaction.Helpers;
|
using Content.Shared.Interaction.Helpers;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
|
|
||||||
namespace Content.Server.Engineering.EntitySystems
|
namespace Content.Server.Engineering.EntitySystems
|
||||||
{
|
{
|
||||||
@@ -40,7 +41,7 @@ namespace Content.Server.Engineering.EntitySystems
|
|||||||
component.TokenSource.Cancel();
|
component.TokenSource.Cancel();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (component.Deleted || component.Owner.Deleted)
|
if (component.Deleted || (!IoCManager.Resolve<IEntityManager>().EntityExists(component.Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(component.Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var entity = EntityManager.SpawnEntity(component.Prototype, component.Owner.Transform.Coordinates);
|
var entity = EntityManager.SpawnEntity(component.Prototype, component.Owner.Transform.Coordinates);
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ namespace Content.Server.Engineering.EntitySystems
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (component.Deleted || component.Owner.Deleted)
|
if (component.Deleted || (!IoCManager.Resolve<IEntityManager>().EntityExists(component.Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(component.Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (component.Owner.TryGetComponent<SharedStackComponent>(out var stackComp)
|
if (component.Owner.TryGetComponent<SharedStackComponent>(out var stackComp)
|
||||||
@@ -68,7 +68,7 @@ namespace Content.Server.Engineering.EntitySystems
|
|||||||
|
|
||||||
EntityManager.SpawnEntity(component.Prototype, args.ClickLocation.SnapToGrid(grid));
|
EntityManager.SpawnEntity(component.Prototype, args.ClickLocation.SnapToGrid(grid));
|
||||||
|
|
||||||
if (component.RemoveOnInteract && stackComp == null && !component.Owner.Deleted)
|
if (component.RemoveOnInteract && stackComp == null && !((!IoCManager.Resolve<IEntityManager>().EntityExists(component.Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(component.Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted))
|
||||||
component.Owner.Delete();
|
component.Owner.Delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ namespace Content.Server.Explosion.Components
|
|||||||
return false;
|
return false;
|
||||||
Owner.SpawnTimer((int) (_delay * 1000), () =>
|
Owner.SpawnTimer((int) (_delay * 1000), () =>
|
||||||
{
|
{
|
||||||
if (Owner.Deleted)
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
return;
|
return;
|
||||||
_countDown = true;
|
_countDown = true;
|
||||||
var random = IoCManager.Resolve<IRobustRandom>();
|
var random = IoCManager.Resolve<IRobustRandom>();
|
||||||
@@ -116,7 +116,7 @@ namespace Content.Server.Explosion.Components
|
|||||||
|
|
||||||
grenade.SpawnTimer(delay, () =>
|
grenade.SpawnTimer(delay, () =>
|
||||||
{
|
{
|
||||||
if (grenade.Deleted)
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(grenade.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(grenade.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
EntitySystem.Get<TriggerSystem>().Trigger(grenade, eventArgs.User);
|
EntitySystem.Get<TriggerSystem>().Trigger(grenade, eventArgs.User);
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ namespace Content.Server.Explosion.Components
|
|||||||
|
|
||||||
void IExAct.OnExplosion(ExplosionEventArgs eventArgs)
|
void IExAct.OnExplosion(ExplosionEventArgs eventArgs)
|
||||||
{
|
{
|
||||||
if (Owner.Deleted)
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var sourceLocation = eventArgs.Source;
|
var sourceLocation = eventArgs.Source;
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ namespace Content.Server.Explosion.EntitySystems
|
|||||||
// and splitted into two lists based on if they are Impassable or not
|
// and splitted into two lists based on if they are Impassable or not
|
||||||
foreach (var entity in entitiesInRange)
|
foreach (var entity in entitiesInRange)
|
||||||
{
|
{
|
||||||
if (entity.Deleted || entity.IsInContainer())
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted || entity.IsInContainer())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ namespace Content.Server.Explosion.EntitySystems
|
|||||||
|
|
||||||
Timer.Spawn(delay, () =>
|
Timer.Spawn(delay, () =>
|
||||||
{
|
{
|
||||||
if (triggered.Deleted) return;
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(triggered.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(triggered.Uid).EntityLifeStage) >= EntityLifeStage.Deleted) return;
|
||||||
Trigger(triggered, user);
|
Trigger(triggered, user);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ using Content.Shared.Popups;
|
|||||||
using Content.Shared.Sound;
|
using Content.Shared.Sound;
|
||||||
using Robust.Shared.Audio;
|
using Robust.Shared.Audio;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
using Robust.Shared.Localization;
|
using Robust.Shared.Localization;
|
||||||
using Robust.Shared.Player;
|
using Robust.Shared.Player;
|
||||||
using Robust.Shared.Serialization.Manager.Attributes;
|
using Robust.Shared.Serialization.Manager.Attributes;
|
||||||
@@ -86,7 +87,7 @@ namespace Content.Server.Fluids.Components
|
|||||||
_currentlyUsing.Remove(eventArgs.Using.Uid);
|
_currentlyUsing.Remove(eventArgs.Using.Uid);
|
||||||
|
|
||||||
if (result == DoAfterStatus.Cancelled ||
|
if (result == DoAfterStatus.Cancelled ||
|
||||||
Owner.Deleted ||
|
(!IoCManager.Resolve<IEntityManager>().EntityExists(Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted ||
|
||||||
mopComponent.Deleted ||
|
mopComponent.Deleted ||
|
||||||
CurrentVolume <= 0 ||
|
CurrentVolume <= 0 ||
|
||||||
!Owner.InRangeUnobstructed(mopComponent.Owner))
|
!Owner.InRangeUnobstructed(mopComponent.Owner))
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ using Content.Shared.Popups;
|
|||||||
using Content.Shared.Sound;
|
using Content.Shared.Sound;
|
||||||
using Robust.Shared.Audio;
|
using Robust.Shared.Audio;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
using Robust.Shared.Localization;
|
using Robust.Shared.Localization;
|
||||||
using Robust.Shared.Player;
|
using Robust.Shared.Player;
|
||||||
using Robust.Shared.Serialization.Manager.Attributes;
|
using Robust.Shared.Serialization.Manager.Attributes;
|
||||||
@@ -127,7 +128,7 @@ namespace Content.Server.Fluids.Components
|
|||||||
Mopping = false;
|
Mopping = false;
|
||||||
|
|
||||||
if (result == DoAfterStatus.Cancelled ||
|
if (result == DoAfterStatus.Cancelled ||
|
||||||
Owner.Deleted ||
|
(!IoCManager.Resolve<IEntityManager>().EntityExists(Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted ||
|
||||||
puddleComponent.Deleted)
|
puddleComponent.Deleted)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ namespace Content.Server.Fluids.EntitySystems
|
|||||||
|
|
||||||
private void UpdateVisuals(EntityUid uid, PuddleComponent puddleComponent)
|
private void UpdateVisuals(EntityUid uid, PuddleComponent puddleComponent)
|
||||||
{
|
{
|
||||||
if (puddleComponent.Owner.Deleted || EmptyHolder(uid, puddleComponent) ||
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(puddleComponent.Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(puddleComponent.Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted || EmptyHolder(uid, puddleComponent) ||
|
||||||
!EntityManager.TryGetComponent<AppearanceComponent>(uid, out var appearanceComponent))
|
!EntityManager.TryGetComponent<AppearanceComponent>(uid, out var appearanceComponent))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ namespace Content.Server.Ghost
|
|||||||
private void DeleteEntity(EntityUid uid)
|
private void DeleteEntity(EntityUid uid)
|
||||||
{
|
{
|
||||||
if (!EntityManager.TryGetEntity(uid, out var entity)
|
if (!EntityManager.TryGetEntity(uid, out var entity)
|
||||||
|| entity.Deleted
|
|| (!IoCManager.Resolve<IEntityManager>().EntityExists(entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted
|
||||||
|| (!IoCManager.Resolve<IEntityManager>().EntityExists(entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity.Uid).EntityLifeStage) == EntityLifeStage.Terminating)
|
|| (!IoCManager.Resolve<IEntityManager>().EntityExists(entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity.Uid).EntityLifeStage) == EntityLifeStage.Terminating)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ namespace Content.Server.Inventory.Components
|
|||||||
}
|
}
|
||||||
|
|
||||||
var containedEntity = _slotContainers[slot].ContainedEntity;
|
var containedEntity = _slotContainers[slot].ContainedEntity;
|
||||||
if (containedEntity?.Deleted == true)
|
if ((containedEntity != null ? (!IoCManager.Resolve<IEntityManager>().EntityExists(containedEntity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(containedEntity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted : null) == true)
|
||||||
{
|
{
|
||||||
_slotContainers.Remove(slot);
|
_slotContainers.Remove(slot);
|
||||||
containedEntity = null;
|
containedEntity = null;
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ namespace Content.Server.Inventory
|
|||||||
var user = inventory.Owner;
|
var user = inventory.Owner;
|
||||||
|
|
||||||
// Let's do nothing if the owner of the inventory has been deleted.
|
// Let's do nothing if the owner of the inventory has been deleted.
|
||||||
if (user.Deleted)
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(user.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(user.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// If we don't have that slot or there's already an item there, we do nothing.
|
// If we don't have that slot or there's already an item there, we do nothing.
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ namespace Content.Server.Light.Components
|
|||||||
|
|
||||||
public void OnUpdate(float frameTime)
|
public void OnUpdate(float frameTime)
|
||||||
{
|
{
|
||||||
if (Owner.Deleted || !Owner.TryGetComponent(out BatteryComponent? battery) || Owner.Paused)
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted || !Owner.TryGetComponent(out BatteryComponent? battery) || Owner.Paused)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ namespace Content.Server.Morgue.Components
|
|||||||
_cremateCancelToken = new CancellationTokenSource();
|
_cremateCancelToken = new CancellationTokenSource();
|
||||||
Owner.SpawnTimer(_burnMilis, () =>
|
Owner.SpawnTimer(_burnMilis, () =>
|
||||||
{
|
{
|
||||||
if (Owner.Deleted)
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Appearance?.SetData(CrematoriumVisuals.Burning, false);
|
Appearance?.SetData(CrematoriumVisuals.Burning, false);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using Content.Shared.Interaction;
|
using Content.Shared.Interaction;
|
||||||
using Robust.Shared.GameObjects;
|
using Robust.Shared.GameObjects;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
using Robust.Shared.ViewVariables;
|
using Robust.Shared.ViewVariables;
|
||||||
|
|
||||||
namespace Content.Server.Morgue.Components
|
namespace Content.Server.Morgue.Components
|
||||||
@@ -15,7 +16,7 @@ namespace Content.Server.Morgue.Components
|
|||||||
|
|
||||||
void IActivate.Activate(ActivateEventArgs eventArgs)
|
void IActivate.Activate(ActivateEventArgs eventArgs)
|
||||||
{
|
{
|
||||||
if (Morgue != null && !Morgue.Deleted && Morgue.TryGetComponent<MorgueEntityStorageComponent>(out var comp))
|
if (Morgue != null && !((!IoCManager.Resolve<IEntityManager>().EntityExists(Morgue.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Morgue.Uid).EntityLifeStage) >= EntityLifeStage.Deleted) && Morgue.TryGetComponent<MorgueEntityStorageComponent>(out var comp))
|
||||||
{
|
{
|
||||||
comp.Activate(new ActivateEventArgs(eventArgs.User, Morgue));
|
comp.Activate(new ActivateEventArgs(eventArgs.User, Morgue));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ namespace Content.Server.PneumaticCannon
|
|||||||
if (!comp.Owner.TryGetComponent<ServerStorageComponent>(out var storage))
|
if (!comp.Owner.TryGetComponent<ServerStorageComponent>(out var storage))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (data.User.Deleted)
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(data.User.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(data.User.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (storage.StoredEntities == null) return;
|
if (storage.StoredEntities == null) return;
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ namespace Content.Server.Projectiles.Components
|
|||||||
|
|
||||||
Owner.SpawnTimer((int) _deathTime.TotalMilliseconds, () =>
|
Owner.SpawnTimer((int) _deathTime.TotalMilliseconds, () =>
|
||||||
{
|
{
|
||||||
if (!Owner.Deleted)
|
if (!((!IoCManager.Resolve<IEntityManager>().EntityExists(Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted))
|
||||||
{
|
{
|
||||||
Owner.Delete();
|
Owner.Delete();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ namespace Content.Server.Projectiles
|
|||||||
var coordinates = args.OtherFixture.Body.Owner.Transform.Coordinates;
|
var coordinates = args.OtherFixture.Body.Owner.Transform.Coordinates;
|
||||||
var playerFilter = Filter.Pvs(coordinates);
|
var playerFilter = Filter.Pvs(coordinates);
|
||||||
|
|
||||||
if (!otherEntity.Deleted && component.SoundHitSpecies != null &&
|
if (!((!IoCManager.Resolve<IEntityManager>().EntityExists(otherEntity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(otherEntity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted) && component.SoundHitSpecies != null &&
|
||||||
otherEntity.HasComponent<SharedBodyComponent>())
|
otherEntity.HasComponent<SharedBodyComponent>())
|
||||||
{
|
{
|
||||||
SoundSystem.Play(playerFilter, component.SoundHitSpecies.GetSound(), coordinates);
|
SoundSystem.Play(playerFilter, component.SoundHitSpecies.GetSound(), coordinates);
|
||||||
@@ -52,7 +52,7 @@ namespace Content.Server.Projectiles
|
|||||||
SoundSystem.Play(playerFilter, soundHit, coordinates);
|
SoundSystem.Play(playerFilter, soundHit, coordinates);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!otherEntity.Deleted)
|
if (!((!IoCManager.Resolve<IEntityManager>().EntityExists(otherEntity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(otherEntity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted))
|
||||||
{
|
{
|
||||||
var dmg = _damageableSystem.TryChangeDamage(otherEntity.Uid, component.Damage);
|
var dmg = _damageableSystem.TryChangeDamage(otherEntity.Uid, component.Damage);
|
||||||
component.DamagedEntity = true;
|
component.DamagedEntity = true;
|
||||||
@@ -63,7 +63,7 @@ namespace Content.Server.Projectiles
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Damaging it can delete it
|
// Damaging it can delete it
|
||||||
if (!otherEntity.Deleted && otherEntity.TryGetComponent(out CameraRecoilComponent? recoilComponent))
|
if (!((!IoCManager.Resolve<IEntityManager>().EntityExists(otherEntity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(otherEntity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted) && otherEntity.TryGetComponent(out CameraRecoilComponent? recoilComponent))
|
||||||
{
|
{
|
||||||
var direction = args.OurFixture.Body.LinearVelocity.Normalized;
|
var direction = args.OurFixture.Body.LinearVelocity.Normalized;
|
||||||
recoilComponent.Kick(direction);
|
recoilComponent.Kick(direction);
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ namespace Content.Server.Radiation
|
|||||||
|
|
||||||
public void Update(float frameTime)
|
public void Update(float frameTime)
|
||||||
{
|
{
|
||||||
if (!Decay || Owner.Deleted)
|
if (!Decay || (!IoCManager.Resolve<IEntityManager>().EntityExists(Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (_duration <= 0f)
|
if (_duration <= 0f)
|
||||||
|
|||||||
@@ -32,12 +32,12 @@ namespace Content.Server.Radiation
|
|||||||
comp.Update(RadiationCooldown);
|
comp.Update(RadiationCooldown);
|
||||||
var ent = comp.Owner;
|
var ent = comp.Owner;
|
||||||
|
|
||||||
if (ent.Deleted) continue;
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(ent.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(ent.Uid).EntityLifeStage) >= EntityLifeStage.Deleted) continue;
|
||||||
|
|
||||||
foreach (var entity in _lookup.GetEntitiesInRange(ent.Transform.Coordinates, comp.Range))
|
foreach (var entity in _lookup.GetEntitiesInRange(ent.Transform.Coordinates, comp.Range))
|
||||||
{
|
{
|
||||||
// For now at least still need this because it uses a list internally then returns and this may be deleted before we get to it.
|
// For now at least still need this because it uses a list internally then returns and this may be deleted before we get to it.
|
||||||
if (entity.Deleted) continue;
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted) continue;
|
||||||
|
|
||||||
// Note: Radiation is liable for a refactor (stinky Sloth coding a basic version when he did StationEvents)
|
// Note: Radiation is liable for a refactor (stinky Sloth coding a basic version when he did StationEvents)
|
||||||
// so this ToArray doesn't really matter.
|
// so this ToArray doesn't really matter.
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ namespace Content.Server.Spawners.Components
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!Owner.Deleted)
|
if(!((!IoCManager.Resolve<IEntityManager>().EntityExists(Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted))
|
||||||
IoCManager.Resolve<IEntityManager>().SpawnEntity(_robustRandom.Pick(Prototypes), Owner.Transform.Coordinates);
|
IoCManager.Resolve<IEntityManager>().SpawnEntity(_robustRandom.Pick(Prototypes), Owner.Transform.Coordinates);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ namespace Content.Server.Spawners.Components
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!Owner.Deleted)
|
if(!((!IoCManager.Resolve<IEntityManager>().EntityExists(Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted))
|
||||||
{
|
{
|
||||||
var random = IoCManager.Resolve<IRobustRandom>();
|
var random = IoCManager.Resolve<IRobustRandom>();
|
||||||
|
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ namespace Content.Server.StationEvents.Events
|
|||||||
|
|
||||||
if (!_foundTile ||
|
if (!_foundTile ||
|
||||||
_targetGrid == null ||
|
_targetGrid == null ||
|
||||||
_targetGrid.Deleted ||
|
(!IoCManager.Resolve<IEntityManager>().EntityExists(_targetGrid.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_targetGrid.Uid).EntityLifeStage) >= EntityLifeStage.Deleted ||
|
||||||
!atmosphereSystem.IsSimulatedGrid(_targetGrid.Transform.GridID))
|
!atmosphereSystem.IsSimulatedGrid(_targetGrid.Transform.GridID))
|
||||||
{
|
{
|
||||||
Running = false;
|
Running = false;
|
||||||
@@ -156,7 +156,7 @@ namespace Content.Server.StationEvents.Events
|
|||||||
{
|
{
|
||||||
if (!_foundTile ||
|
if (!_foundTile ||
|
||||||
_targetGrid == null ||
|
_targetGrid == null ||
|
||||||
_targetGrid.Deleted ||
|
(!IoCManager.Resolve<IEntityManager>().EntityExists(_targetGrid.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(_targetGrid.Uid).EntityLifeStage) >= EntityLifeStage.Deleted ||
|
||||||
!atmosphereSystem.IsSimulatedGrid(_targetGrid.Transform.GridID))
|
!atmosphereSystem.IsSimulatedGrid(_targetGrid.Transform.GridID))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ namespace Content.Server.StationEvents.Events
|
|||||||
{
|
{
|
||||||
foreach (var entity in _powered)
|
foreach (var entity in _powered)
|
||||||
{
|
{
|
||||||
if (entity.Deleted) continue;
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted) continue;
|
||||||
|
|
||||||
if (entity.TryGetComponent(out ApcPowerReceiverComponent? powerReceiverComponent))
|
if (entity.TryGetComponent(out ApcPowerReceiverComponent? powerReceiverComponent))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ namespace Content.Server.Throwing
|
|||||||
/// <param name="pushbackRatio">The ratio of impulse applied to the thrower</param>
|
/// <param name="pushbackRatio">The ratio of impulse applied to the thrower</param>
|
||||||
internal static void TryThrow(this IEntity entity, Vector2 direction, float strength = 1.0f, IEntity? user = null, float pushbackRatio = 1.0f)
|
internal static void TryThrow(this IEntity entity, Vector2 direction, float strength = 1.0f, IEntity? user = null, float pushbackRatio = 1.0f)
|
||||||
{
|
{
|
||||||
if (entity.Deleted ||
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted ||
|
||||||
strength <= 0f ||
|
strength <= 0f ||
|
||||||
!entity.TryGetComponent(out PhysicsComponent? physicsComponent))
|
!entity.TryGetComponent(out PhysicsComponent? physicsComponent))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -269,7 +269,7 @@ namespace Content.Server.Weapon.Melee
|
|||||||
var hitBloodstreams = new List<BloodstreamComponent>();
|
var hitBloodstreams = new List<BloodstreamComponent>();
|
||||||
foreach (var entity in args.HitEntities)
|
foreach (var entity in args.HitEntities)
|
||||||
{
|
{
|
||||||
if (entity.Deleted)
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (entity.TryGetComponent<BloodstreamComponent>(out var bloodstream))
|
if (entity.TryGetComponent<BloodstreamComponent>(out var bloodstream))
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ namespace Content.Shared.Nutrition.EntitySystems
|
|||||||
|
|
||||||
private void OnCreamPiedHitBy(EntityUid uid, CreamPiedComponent creamPied, ThrowHitByEvent args)
|
private void OnCreamPiedHitBy(EntityUid uid, CreamPiedComponent creamPied, ThrowHitByEvent args)
|
||||||
{
|
{
|
||||||
if (args.Thrown.Deleted || !args.Thrown.TryGetComponent(out CreamPieComponent? creamPie)) return;
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(args.Thrown.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(args.Thrown.Uid).EntityLifeStage) >= EntityLifeStage.Deleted || !args.Thrown.TryGetComponent(out CreamPieComponent? creamPie)) return;
|
||||||
|
|
||||||
SetCreamPied(uid, creamPied, true);
|
SetCreamPied(uid, creamPied, true);
|
||||||
|
|
||||||
|
|||||||
@@ -165,7 +165,7 @@ namespace Content.Shared.Pulling
|
|||||||
// The pulled object may have already been deleted.
|
// The pulled object may have already been deleted.
|
||||||
// TODO: Work out why. Monkey + meat spike is a good test for this,
|
// TODO: Work out why. Monkey + meat spike is a good test for this,
|
||||||
// assuming you're still pulling the monkey when it gets gibbed.
|
// assuming you're still pulling the monkey when it gets gibbed.
|
||||||
if (pulled.Deleted)
|
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(pulled.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(pulled.Uid).EntityLifeStage) >= EntityLifeStage.Deleted)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ namespace Content.Shared.Throwing
|
|||||||
|
|
||||||
public void LandComponent(ThrownItemComponent thrownItem)
|
public void LandComponent(ThrownItemComponent thrownItem)
|
||||||
{
|
{
|
||||||
if (thrownItem.Deleted || thrownItem.Owner.Deleted || _containerSystem.IsEntityInContainer(thrownItem.Owner.Uid)) return;
|
if (thrownItem.Deleted || (!IoCManager.Resolve<IEntityManager>().EntityExists(thrownItem.Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(thrownItem.Owner.Uid).EntityLifeStage) >= EntityLifeStage.Deleted || _containerSystem.IsEntityInContainer(thrownItem.Owner.Uid)) return;
|
||||||
|
|
||||||
var landing = thrownItem.Owner;
|
var landing = thrownItem.Owner;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user