fix: make IdentityComp.IdentityEntitySlot optional (#39357)
* fix: make IdentityComp.IdentityEntitySlot optional * Revert "fix: make IdentityComp.IdentityEntitySlot optional" This reverts commit fa25263be916ed142bf2cff9871fca3e64c6da2b. * fix conflicts --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
This commit is contained in:
@@ -13,7 +13,13 @@ public static class Identity
|
||||
/// <summary>
|
||||
/// Returns the name that should be used for this entity for identity purposes.
|
||||
/// </summary>
|
||||
public static string Name(EntityUid uid, IEntityManager ent, EntityUid? viewer=null)
|
||||
/// <remarks>
|
||||
/// This will return the true identity of the entity if called before the
|
||||
/// identity component has been initialized — this may occur for example if
|
||||
/// the client raises an event in response to an entity entering PVS for
|
||||
/// the first time.
|
||||
/// </remarks>
|
||||
public static string Name(EntityUid uid, IEntityManager ent, EntityUid? viewer = null)
|
||||
{
|
||||
if (!uid.IsValid())
|
||||
return string.Empty;
|
||||
@@ -27,7 +33,7 @@ public static class Identity
|
||||
if (!ent.TryGetComponent<IdentityComponent>(uid, out var identity))
|
||||
return uidName;
|
||||
|
||||
var ident = identity.IdentityEntitySlot.ContainedEntity;
|
||||
var ident = identity.IdentityEntitySlot?.ContainedEntity;
|
||||
if (ident is null)
|
||||
return uidName;
|
||||
|
||||
@@ -52,6 +58,7 @@ public static class Identity
|
||||
/// <param name="viewer">
|
||||
/// If this entity can see through identities, this method will always return the actual target entity.
|
||||
/// </param>
|
||||
/// <inheritdoc cref="Name" path="remarks" />
|
||||
public static EntityUid Entity(EntityUid uid, IEntityManager ent, EntityUid? viewer = null)
|
||||
{
|
||||
if (!ent.TryGetComponent<IdentityComponent>(uid, out var identity))
|
||||
@@ -60,7 +67,7 @@ public static class Identity
|
||||
if (viewer != null && CanSeeThroughIdentity(uid, viewer.Value, ent))
|
||||
return uid;
|
||||
|
||||
return identity.IdentityEntitySlot.ContainedEntity ?? uid;
|
||||
return identity.IdentityEntitySlot?.ContainedEntity ?? uid;
|
||||
}
|
||||
|
||||
public static bool CanSeeThroughIdentity(EntityUid uid, EntityUid viewer, IEntityManager ent)
|
||||
|
||||
Reference in New Issue
Block a user