Table of Contents

Struct Entity

Namespace
Frent
Assembly
Frent.dll

An Entity reference; refers to a collection of components of unqiue types.

public struct Entity : IEquatable<Entity>
Implements
Inherited Members
Extension Methods

Constructors

Entity()

Creates an Entity identical to Null

public Entity()

Remarks

Entity generally shouldn't manually constructed

Properties

ArchetypicalComponentTypes

Gets the archetypical component types for this entity.

public readonly ImmutableArray<ComponentID> ArchetypicalComponentTypes { get; }

Property Value

ImmutableArray<ComponentID>

Exceptions

InvalidOperationException

Entity is dead.

ComponentTypes

Gets all the component types for this entity.

public readonly ImmutableArray<ComponentID> ComponentTypes { get; }

Property Value

ImmutableArray<ComponentID>

Exceptions

InvalidOperationException

Entity is dead.

IsAlive

Checks to see if this Entity is still alive

public readonly bool IsAlive { get; }

Property Value

bool

true if this entity is still alive (not deleted), otherwise false

IsNull

Checks to see if this Entity instance is the null entity: default(Entity)

public readonly bool IsNull { get; }

Property Value

bool

Null

The null entity

public static Entity Null { get; }

Property Value

Entity

OnComponentAddedGeneric

Raised when a component is added to an entity, with the generic parameter

public readonly GenericEvent? OnComponentAddedGeneric { get; set; }

Property Value

GenericEvent

OnComponentRemovedGeneric

Raised when a component is removed to an entity, with the generic parameter

public readonly GenericEvent? OnComponentRemovedGeneric { get; set; }

Property Value

GenericEvent

TagTypes

Gets tags the entity has

public readonly ImmutableArray<TagID> TagTypes { get; }

Property Value

ImmutableArray<TagID>

Exceptions

InvalidOperationException

Entity is dead.

Type

The EntityType of this Entity.

public readonly EntityType Type { get; }

Property Value

EntityType

World

Gets the world this entity belongs to

public readonly World World { get; }

Property Value

World

Exceptions

InvalidOperationException

Entity is dead.

Methods

AddAs(ComponentID, object)

Adds a component to this Entity, as a specific component type.

public readonly void AddAs(ComponentID componentID, object component)

Parameters

componentID ComponentID

The component type to add as.

component object

The component to add.

Exceptions

InvalidCastException

component is not assignable to the type represented by componentID.

AddAs(Type, object)

Add a component to an Entity

public readonly void AddAs(Type type, object component)

Parameters

type Type

The type to add the component as. Note that a component of type DerivedClass and BaseClass are different component types.

component object

The component to add

AddBoxed(object)

Adds a component to this Entity as its own type

public readonly void AddBoxed(object component)

Parameters

component object

The component, which could be boxed

AddFromHandles(params ReadOnlySpan<ComponentHandle>)

Adds a set of components copied from component handles.

public readonly void AddFromHandles(params ReadOnlySpan<ComponentHandle> componentHandles)

Parameters

componentHandles ReadOnlySpan<ComponentHandle>

The handles to copy components from.

Exceptions

ArgumentException

If adding componentHandles.Length.Length components will result in more than the maximum allowed commponent count.

Add<T>(in T)

Adds a component to this Entity.

public void Add<T>(in T c1)

Parameters

c1 T

Type Parameters

T

Remarks

If the world is being updated, changed are deffered to the end of the world update.

Delete()

Deletes this entity

public readonly void Delete()

Detach(TagID)

Removes a tag from this Entity. Tags are like components but do not take up extra memory.

public readonly bool Detach(TagID tagID)

Parameters

tagID TagID

The type of tag to remove.

Returns

bool

true if the Tag was removed successfully, false when the Entity doesn't have the component

Exceptions

InvalidOperationException

Entity is dead.

Detach(Type)

Removes a tag from this Entity. Tags are like components but do not take up extra memory.

public readonly bool Detach(Type type)

Parameters

type Type

The type of tag to remove.

Returns

bool

true if the Tag was removed successfully, false when the Entity doesn't have the component

Exceptions

InvalidOperationException

Entity is dead.

Detach<T>()

Removes a tag from this Entity

public void Detach<T>()

Type Parameters

T

Remarks

If the world is being updated, changed are deffered to the end of the world update.

EnumerateComponents(IGenericAction)

Enumerates all components one by one

public readonly void EnumerateComponents(IGenericAction onEach)

Parameters

onEach IGenericAction

The unbound generic function called on each item

EnumerateIncomingWithEntities(LinkID)

Enumerates every Entity that links to this one with a link of type TLink.

public readonly EntityLinkEnumerator.Enumerable EnumerateIncomingWithEntities(LinkID linkID)

Parameters

linkID LinkID

The kind of link to enumerate.

Returns

EntityLinkEnumerator.Enumerable

Exceptions

InvalidOperationException

This Entity is dead.

EnumerateIncomingWithEntities<TLink>()

Enumerates every Entity that links to this one with a link of type TLink.

public readonly EntityLinkEnumerator.Enumerable EnumerateIncomingWithEntities<TLink>()

Returns

EntityLinkEnumerator.Enumerable

Type Parameters

TLink

The type of link to enumerate.

Exceptions

InvalidOperationException

This Entity is dead.

EnumerateIncomingWithEntities<T>(LinkID)

Enumerates every Entity that links to this one with a link of type TLink, along with their components.

public readonly EntityLinkEnumerator<T>.Enumerable EnumerateIncomingWithEntities<T>(LinkID linkID)

Parameters

linkID LinkID

The kind of link to enumerate.

Returns

EntityLinkEnumerator<T>.Enumerable

Type Parameters

T

Remarks

Linked entities that do not have every enumerated component are skipped.

EnumerateIncomingWithEntities<TLink, T>()

Enumerates every Entity that links to this one with a link of type TLink, along with their components.

public readonly EntityLinkEnumerator<T>.Enumerable EnumerateIncomingWithEntities<TLink, T>()

Returns

EntityLinkEnumerator<T>.Enumerable

Type Parameters

TLink
T

Remarks

Linked entities that do not have every enumerated component are skipped.

EnumerateIncoming<T>(LinkID)

Enumerates the components of every Entity that links to this one with a link of type TLink.

public readonly LinkEnumerable<T> EnumerateIncoming<T>(LinkID linkID)

Parameters

linkID LinkID

The kind of link to enumerate.

Returns

LinkEnumerable<T>

Type Parameters

T

Remarks

Linked entities that do not have every enumerated component are skipped.

EnumerateIncoming<TLink, T>()

Enumerates the components of every Entity that links to this one with a link of type TLink.

public readonly LinkEnumerable<T> EnumerateIncoming<TLink, T>()

Returns

LinkEnumerable<T>

Type Parameters

TLink
T

Remarks

Linked entities that do not have every enumerated component are skipped.

EnumerateOutgoingWithEntities(LinkID)

Enumerates every Entity this one links to with a link of type TLink.

public readonly EntityLinkEnumerator.Enumerable EnumerateOutgoingWithEntities(LinkID linkID)

Parameters

linkID LinkID

The kind of link to enumerate.

Returns

EntityLinkEnumerator.Enumerable

Exceptions

InvalidOperationException

This Entity is dead.

EnumerateOutgoingWithEntities<TLink>()

Enumerates every Entity this one links to with a link of type TLink.

public readonly EntityLinkEnumerator.Enumerable EnumerateOutgoingWithEntities<TLink>()

Returns

EntityLinkEnumerator.Enumerable

Type Parameters

TLink

The type of link to enumerate.

Exceptions

InvalidOperationException

This Entity is dead.

EnumerateOutgoingWithEntities<T>(LinkID)

Enumerates every Entity this one links to with a link of type TLink, along with their components.

public readonly EntityLinkEnumerator<T>.Enumerable EnumerateOutgoingWithEntities<T>(LinkID linkID)

Parameters

linkID LinkID

The kind of link to enumerate.

Returns

EntityLinkEnumerator<T>.Enumerable

Type Parameters

T

Remarks

Linked entities that do not have every enumerated component are skipped.

EnumerateOutgoingWithEntities<TLink, T>()

Enumerates every Entity this one links to with a link of type TLink, along with their components.

public readonly EntityLinkEnumerator<T>.Enumerable EnumerateOutgoingWithEntities<TLink, T>()

Returns

EntityLinkEnumerator<T>.Enumerable

Type Parameters

TLink
T

Remarks

Linked entities that do not have every enumerated component are skipped.

EnumerateOutgoing<T>(LinkID)

Enumerates the components of every Entity this one links to with a link of type TLink.

public readonly LinkEnumerable<T> EnumerateOutgoing<T>(LinkID linkID)

Parameters

linkID LinkID

The kind of link to enumerate.

Returns

LinkEnumerable<T>

Type Parameters

T

Remarks

Linked entities that do not have every enumerated component are skipped.

EnumerateOutgoing<TLink, T>()

Enumerates the components of every Entity this one links to with a link of type TLink.

public readonly LinkEnumerable<T> EnumerateOutgoing<TLink, T>()

Returns

LinkEnumerable<T>

Type Parameters

TLink
T

Remarks

Linked entities that do not have every enumerated component are skipped.

Equals(Entity)

Determines whether the specified Entity is equal to the current Entity.

public bool Equals(Entity other)

Parameters

other Entity

The entity to compare with the current entity.

Returns

bool

true if the specified entity is equal to the current entity; otherwise, false.

Equals(object?)

Determines whether the specified object is equal to the current Entity.

public override bool Equals(object? obj)

Parameters

obj object

The object to compare with the current entity.

Returns

bool

true if the specified object is an Entity and is equal to the current entity; otherwise, false.

Get(ComponentID)

Gets this Entity's component of type id.

public readonly object Get(ComponentID id)

Parameters

id ComponentID

The ID of the type of component to get

Returns

object

The boxed component.

Exceptions

InvalidOperationException

Entity is dead.

ComponentNotFoundException

Entity does not have component of type id.

Get(Type)

Gets this Entity's component of type type.

public readonly object Get(Type type)

Parameters

type Type

The type of component to get

Returns

object

The component of type type

Exceptions

InvalidOperationException

Entity is dead.

ComponentNotFoundException

Entity does not have component of type type.

GetEnumerator()

Gets a Entity.EntityComponentIDEnumerator that can be used to enumerate all component types on this entity.

public readonly Entity.EntityComponentIDEnumerator GetEnumerator()

Returns

Entity.EntityComponentIDEnumerator

Remarks

Can be used to enumerate sparse and archetypical component types without allocating.

GetHashCode()

Serves as the default hash function.

public override int GetHashCode()

Returns

int

A hash code for the current Entity.

Get<T>()

Gets this Entity's component of type T.

public readonly ref T Get<T>()

Returns

T

A reference to the component in memory.

Type Parameters

T

The type of component.

Remarks

The returned reference could become invalid after a structural change to a world.

Exceptions

InvalidOperationException

Entity is dead.

NullReferenceException

Entity does not have component of type T.

Has(ComponentID)

Checks of this Entity has a component specified by componentID.

public readonly bool Has(ComponentID componentID)

Parameters

componentID ComponentID

The component ID of the component type to check.

Returns

bool

true if the entity has a component of componentID, otherwise false.

Has(Type)

Checks to see if this Entity has a component of Type type.

public readonly bool Has(Type type)

Parameters

type Type

The component type to check if this entity has.

Returns

bool

true if the entity has a component of type, otherwise false.

Checks whether anything links to this Entity with a link of type T.

public readonly bool HasIncomingLink(LinkID linkKind)

Parameters

linkKind LinkID

The kind of link to check for.

Returns

bool

true when this Entity is the target of at least one link of type T, otherwise false.

Exceptions

InvalidOperationException

This Entity is dead.

Checks whether anything links to this Entity with a link of type T.

public readonly bool HasIncomingLink<T>()

Returns

bool

true when this Entity is the target of at least one link of type T, otherwise false.

Type Parameters

T

The type of link to check for.

Exceptions

InvalidOperationException

This Entity is dead.

Checks whether this Entity links to anything with a link of type T.

public readonly bool HasOutgoingLink(LinkID linkKind)

Parameters

linkKind LinkID

The kind of link to check for.

Returns

bool

true when this Entity is the source of at least one link of type T, otherwise false.

Exceptions

InvalidOperationException

This Entity is dead.

Checks whether this Entity links to target with a link of type T.

public readonly bool HasOutgoingLink(LinkID linkKind, Entity target)

Parameters

linkKind LinkID

The kind of link to check for.

target Entity

The Entity the link would point to.

Returns

bool

true when a link of type T goes from this Entity to target, otherwise false.

There is no incoming counterpart taking an Entity, since links are stored in both directions: ask whether source links to this Entity with source.HasOutgoingLink<T>(this).

Exceptions

InvalidOperationException

Either Entity is dead.

ArgumentException

The entities belong to different worlds.

Checks whether this Entity links to anything with a link of type T.

public readonly bool HasOutgoingLink<T>()

Returns

bool

true when this Entity is the source of at least one link of type T, otherwise false.

Type Parameters

T

The type of link to check for.

Exceptions

InvalidOperationException

This Entity is dead.

Checks whether this Entity links to target with a link of type T.

public readonly bool HasOutgoingLink<T>(Entity target)

Parameters

target Entity

The Entity the link would point to.

Returns

bool

true when a link of type T goes from this Entity to target, otherwise false.

Type Parameters

T

The type of link to check for.

There is no incoming counterpart taking an Entity, since links are stored in both directions: ask whether source links to this Entity with source.HasOutgoingLink<T>(this).

Exceptions

InvalidOperationException

Either Entity is dead.

ArgumentException

The entities belong to different worlds.

Has<T>()

Checks to see if this Entity has a component of Type T.

public readonly bool Has<T>()

Returns

bool

true if the entity has a component of T, otherwise false.

Type Parameters

T

The type of component to check.

Links from this Entity outgoing to target with a link of kind linkKind.

public readonly void Link(LinkID linkKind, Entity target)

Parameters

linkKind LinkID

The kind of link to create.

target Entity

The Entity the link should point to.

Exceptions

InvalidOperationException

Either Entity is dead, they belong to different worlds, or the link already exists.

Links from this Entity outgoing to target of type T.

public readonly void Link<T>(Entity target)

Parameters

target Entity

The Entity the link should point to.

Type Parameters

T

The type of link to create.

Exceptions

InvalidOperationException

Either Entity is dead, they belong to different worlds, or the link already exists.

Remove(ComponentID)

Removes a component from this entity

public readonly void Remove(ComponentID componentID)

Parameters

componentID ComponentID

The ComponentID of the component to be removed

Remove(Type)

Removes a component from an Entity

public readonly void Remove(Type type)

Parameters

type Type

The type of component to remove

Exceptions

InvalidOperationException

Entity is dead.

ComponentNotFoundException

Entity does not have component of type type.

Remove<T>()

Removes a component from this Entity

public void Remove<T>()

Type Parameters

T

Remarks

If the world is being updated, changed are deffered to the end of the world update.

Set(ComponentID, object)

Gets this Entity's component of type id.

public readonly void Set(ComponentID id, object obj)

Parameters

id ComponentID

The ID of the type of component to get

obj object

The component to set

Exceptions

InvalidOperationException

Entity is dead.

ComponentNotFoundException

Entity does not have component of type id.

Set(Type, object)

Gets this Entity's component of type type.

public readonly void Set(Type type, object obj)

Parameters

type Type

The type of component to get

obj object

The component to set

Exceptions

InvalidOperationException

Entity is dead.

ComponentNotFoundException

Entity does not have component of type type.

Tag(TagID)

Adds a tag to this Entity. Tags are like components but do not take up extra memory.

public readonly bool Tag(TagID tagID)

Parameters

tagID TagID

The tagID to use as the tag

Returns

bool

Remarks

Prefer the Tag(TagID) or Tag<T>() overloads. Use ID to get a TagID instance

Exceptions

InvalidOperationException

Entity is dead.

Tag(Type)

Adds a tag to this Entity. Tags are like components but do not take up extra memory.

public readonly bool Tag(Type type)

Parameters

type Type

The type to use as a tag

Returns

bool

Exceptions

InvalidOperationException

Entity is dead.

TagFromIDs(ReadOnlySpan<TagID>)

Adds a set of tags to this entity.

public readonly void TagFromIDs(ReadOnlySpan<TagID> tagIds)

Parameters

tagIds ReadOnlySpan<TagID>

The tag types to add.

Remarks

You can get a TagID by using TagTypes or GetTagID(Type)

Tag<T>()

Adds a tag to this Entity

public void Tag<T>()

Type Parameters

T

Remarks

If the world is being updated, changed are deffered to the end of the world update.

Tagged(TagID)

Checks whether this Entity has a specific tag, using a TagID to represent the tag.

public readonly bool Tagged(TagID tagID)

Parameters

tagID TagID

The identifier of the tag to check.

Returns

bool

true if the tag identified by tagID has this Entity; otherwise, false.

Exceptions

InvalidOperationException

Thrown if the Entity is not alive.

Tagged(Type)

Checks whether this Entity has a specific tag, using a Type to represent the tag.

public readonly bool Tagged(Type type)

Parameters

type Type

The Type representing the tag to check.

Returns

bool

true if the tag represented by type has this Entity; otherwise, false.

Remarks

Prefer the Tagged(TagID) or Tagged<T>() overloads. Use ID to get a TagID instance

Exceptions

InvalidOperationException

Thrown if the Entity not alive.

Tagged<T>()

Checks whether this Entity has a specific tag, using a generic type parameter to represent the tag.

public readonly bool Tagged<T>()

Returns

bool

true if the tag of type T has this Entity; otherwise, false.

Type Parameters

T

The type used as the tag.

Exceptions

InvalidOperationException

Thrown if the Entity is not alive.

TryGet(Type, out object?)

Attempts to get a component from an Entity.

public readonly bool TryGet(Type type, out object? value)

Parameters

type Type

The type of component to try and get

value object

A wrapper over a reference to the component when true.

Returns

bool

true if this entity has a component of type type, otherwise false.

TryGet<T>(out Ref<T>)

Attempts to get a component from an Entity.

public readonly bool TryGet<T>(out Ref<T> value)

Parameters

value Ref<T>

A wrapper over a reference to the component when true.

Returns

bool

true if this entity has a component of type T, otherwise false.

Type Parameters

T

The type of component.

Remarks

When this method returns true, value points directly into component storage. Treat it as invalid after a structural change in the same World and retrieve the component again.

TryHas(ComponentID)

Checks of this Entity has a component specified by componentID without throwing when dead.

public readonly bool TryHas(ComponentID componentID)

Parameters

componentID ComponentID

The component ID of the component type to check.

Returns

bool

true if the entity is alive and has a component of componentID, otherwise false.

TryHas(Type)

Checks of this Entity has a component specified by type without throwing when dead.

public readonly bool TryHas(Type type)

Parameters

type Type

The type of the component type to check.

Returns

bool

true if the entity is alive and has a component of type, otherwise false.

Checks whether anything links to this Entity with a link of type T, without throwing when dead.

public readonly bool TryHasIncomingLink(LinkID linkKind)

Parameters

linkKind LinkID

The kind of link to check for.

Returns

bool

true when this Entity is alive and is the target of at least one link of type T, otherwise false.

Checks whether anything links to this Entity with a link of type T, without throwing when dead.

public readonly bool TryHasIncomingLink<T>()

Returns

bool

true when this Entity is alive and is the target of at least one link of type T, otherwise false.

Type Parameters

T

The type of link to check for.

Checks whether this Entity links to anything with a link of type T, without throwing when dead.

public readonly bool TryHasOutgoingLink(LinkID linkKind)

Parameters

linkKind LinkID

The kind of link to check for.

Returns

bool

true when this Entity is alive and is the source of at least one link of type T, otherwise false.

Checks whether this Entity links to target with a link of type T, without throwing when dead.

public readonly bool TryHasOutgoingLink(LinkID linkKind, Entity target)

Parameters

linkKind LinkID

The kind of link to check for.

target Entity

The Entity the link would point to.

Returns

bool

true when both entities are alive and a link of type T goes from this Entity to target, otherwise false.

There is no incoming counterpart taking an Entity, since links are stored in both directions: ask whether source links to this Entity with source.HasOutgoingLink<T>(this).

Checks whether this Entity links to anything with a link of type T, without throwing when dead.

public readonly bool TryHasOutgoingLink<T>()

Returns

bool

true when this Entity is alive and is the source of at least one link of type T, otherwise false.

Type Parameters

T

The type of link to check for.

Checks whether this Entity links to target with a link of type T, without throwing when dead.

public readonly bool TryHasOutgoingLink<T>(Entity target)

Parameters

target Entity

The Entity the link would point to.

Returns

bool

true when both entities are alive and a link of type T goes from this Entity to target, otherwise false.

Type Parameters

T

The type of link to check for.

There is no incoming counterpart taking an Entity, since links are stored in both directions: ask whether source links to this Entity with source.HasOutgoingLink<T>(this).

TryHas<T>()

Checks of this Entity has a component specified by T without throwing when dead.

public readonly bool TryHas<T>()

Returns

bool

true if the entity is alive and has a component of T, otherwise false.

Type Parameters

T

The type of component to check.

Links from this Entity outgoing to target with a link of kind linkKind, if it is possible to do so.

public readonly bool TryLink(LinkID linkKind, Entity target)

Parameters

linkKind LinkID

The kind of link to create.

target Entity

The Entity the link should point to.

Returns

bool

true when the link was created, false when either Entity is dead, they belong to different worlds, or the link already exists.

Links from this Entity outgoing to target of type T, if it is possible to do so.

public readonly bool TryLink<T>(Entity target)

Parameters

target Entity

The Entity the link should point to.

Returns

bool

true when the link was created, false when either Entity is dead, they belong to different worlds, or the link already exists.

Type Parameters

T

The type of link to create.

Removes the outgoing link of kind linkKind from this Entity to target, if it exists.

public readonly bool TryUnlink(LinkID linkKind, Entity target)

Parameters

linkKind LinkID

The kind of link to remove.

target Entity

The Entity the link points to.

Returns

bool

true when the link was removed, false when either Entity is dead, they belong to different worlds, or the link does not exist.

Removes the outgoing link of type T from this Entity to target, if it exists.

public readonly bool TryUnlink<T>(Entity target)

Parameters

target Entity

The Entity the link points to.

Returns

bool

true when the link was removed, false when either Entity is dead, they belong to different worlds, or the link does not exist.

Type Parameters

T

The type of link to remove.

Removes the outgoing link of kind linkKind from this Entity to target.

public readonly void Unlink(LinkID linkKind, Entity target)

Parameters

linkKind LinkID

The kind of link to remove.

target Entity

The Entity the link points to.

Exceptions

InvalidOperationException

Either Entity is dead, they belong to different worlds, or the link does not exist.

Removes the outgoing link of type T from this Entity to target.

public readonly void Unlink<T>(Entity target)

Parameters

target Entity

The Entity the link points to.

Type Parameters

T

The type of link to remove.

Exceptions

InvalidOperationException

Either Entity is dead, they belong to different worlds, or the link does not exist.

Events

OnComponentAdded

Raised when a component is added to an entity

public readonly event Action<Entity, ComponentID> OnComponentAdded

Event Type

Action<Entity, ComponentID>

OnComponentRemoved

Raised when a component is removed from an entity

public readonly event Action<Entity, ComponentID> OnComponentRemoved

Event Type

Action<Entity, ComponentID>

OnDelete

Raised when the entity is deleted

public readonly event Action<Entity> OnDelete

Event Type

Action<Entity>

OnDetach

Raised when a tag is detached from the entity

public readonly event Action<Entity, TagID> OnDetach

Event Type

Action<Entity, TagID>

OnIncomingLinked

Raised when this entity becomes the target of a link

public readonly event Action<Entity, LinkID> OnIncomingLinked

Event Type

Action<Entity, LinkID>

OnIncomingUnlinked

Raised when an incoming link to this entity is removed

public readonly event Action<Entity, LinkID> OnIncomingUnlinked

Event Type

Action<Entity, LinkID>

OnOutgoingLinked

Raised when this entity becomes the source of a link

public readonly event Action<Entity, LinkID> OnOutgoingLinked

Event Type

Action<Entity, LinkID>

OnOutgoingUnlinked

Raised when an outgoing link from this entity is removed

public readonly event Action<Entity, LinkID> OnOutgoingUnlinked

Event Type

Action<Entity, LinkID>

OnTagged

Raised when the entity is tagged

public readonly event Action<Entity, TagID> OnTagged

Event Type

Action<Entity, TagID>

Operators

operator ==(Entity, Entity)

Checks if two Entity structs refer to the same entity.

public static bool operator ==(Entity a, Entity b)

Parameters

a Entity

The first entity to compare.

b Entity

The second entity to compare.

Returns

bool

true if the entities refer to the same entity; otherwise, false.

operator !=(Entity, Entity)

Checks if two Entity structs do not refer to the same entity.

public static bool operator !=(Entity a, Entity b)

Parameters

a Entity

The first entity to compare.

b Entity

The second entity to compare.

Returns

bool

true if the entities do not refer to the same entity; otherwise, false.