Inline LifeStage
This commit is contained in:
@@ -75,7 +75,7 @@ namespace Content.Server.Ghost
|
||||
private void OnGhostShutdown(EntityUid uid, GhostComponent component, ComponentShutdown args)
|
||||
{
|
||||
// Perf: If the entity is deleting itself, no reason to change these back.
|
||||
if (component.Owner.LifeStage < EntityLifeStage.Terminating)
|
||||
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(component.Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(component.Owner.Uid).EntityLifeStage) < EntityLifeStage.Terminating)
|
||||
{
|
||||
// Entity can't be seen by ghosts anymore.
|
||||
if (component.Owner.TryGetComponent(out VisibilityComponent? visibility))
|
||||
@@ -182,7 +182,7 @@ namespace Content.Server.Ghost
|
||||
{
|
||||
if (!EntityManager.TryGetEntity(uid, out var entity)
|
||||
|| entity.Deleted
|
||||
|| entity.LifeStage == EntityLifeStage.Terminating)
|
||||
|| (!IoCManager.Resolve<IEntityManager>().EntityExists(entity.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(entity.Uid).EntityLifeStage) == EntityLifeStage.Terminating)
|
||||
return;
|
||||
|
||||
if (entity.TryGetComponent<MindComponent>(out var mind))
|
||||
|
||||
@@ -61,7 +61,7 @@ namespace Content.Shared.Pulling
|
||||
|
||||
RaiseLocalEvent(puller.OwnerUid, message, broadcast: false);
|
||||
|
||||
if (pullable.Owner.LifeStage <= EntityLifeStage.MapInitialized)
|
||||
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(pullable.Owner.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(pullable.Owner.Uid).EntityLifeStage) <= EntityLifeStage.MapInitialized)
|
||||
RaiseLocalEvent(pullable.OwnerUid, message);
|
||||
|
||||
// Networking
|
||||
|
||||
@@ -79,7 +79,8 @@ namespace Content.Shared.SubFloor
|
||||
private void OnSubFloorTerminating(EntityUid uid, SubFloorHideComponent component, ComponentShutdown _)
|
||||
{
|
||||
// If component is being deleted don't need to worry about updating any component stuff because it won't matter very shortly.
|
||||
if (EntityManager.GetEntity(uid).LifeStage >= EntityLifeStage.Terminating) return;
|
||||
IEntity tempQualifier = EntityManager.GetEntity(uid);
|
||||
if ((!IoCManager.Resolve<IEntityManager>().EntityExists(tempQualifier.Uid) ? EntityLifeStage.Deleted : IoCManager.Resolve<IEntityManager>().GetComponent<MetaDataComponent>(tempQualifier.Uid).EntityLifeStage) >= EntityLifeStage.Terminating) return;
|
||||
|
||||
// Regardless of whether we're on a subfloor or not, unhide.
|
||||
UpdateEntity(uid, true);
|
||||
|
||||
Reference in New Issue
Block a user