Search Results for

    Show / Hide Table of Contents

    Class Entity

    This class represents a game entity, which is basically a container of Component types, which are the ones that provide the actual game logic. Entity types are contained in Scene ones, which handle how to update and draw them.

    Inheritance
    object
    IdentifiableObject
    DependencyObject
    AttachableObject
    PrefabInstanceObject
    Entity
    Implements
    IDependencyObject
    Inherited Members
    PrefabInstanceObject.PrefabSource
    PrefabInstanceObject.PrefabElementId
    PrefabInstanceObject.IsPrefabInstance
    PrefabInstanceObject.IsMissingPrefabSource
    AttachableObject.AttachableStateChanged
    AttachableObject.IsEnabled
    AttachableObject.State
    AttachableObject.IsLoaded
    AttachableObject.IsAttached
    AttachableObject.IsActivated
    AttachableObject.IsStarted
    AttachableObject.IsDestroyed
    AttachableObject.Destroy()
    AttachableObject.DependencyBroken()
    DependencyObject.Dependencies
    DependencyObject.OnDependencyRemoved
    IdentifiableObject.Id
    Namespace: Evergine.Framework
    Assembly: Evergine.Framework.dll
    Syntax
    public class Entity : PrefabInstanceObject, IDependencyObject
    Remarks

    Entity types can be organized in trees, with an entity containing others and so on.

    Examples

    This is an example on how to create an Entity. Take into account that the AddComponent() and RemoveComponent() methods are designed to allow method chaining, so this type of code can be written when creating or configuring an Entity:

    var primitive = new Entity("Primitive")
                        .AddComponent(new Transform3D())
                        .AddComponent(new Spinner() { AxisTotalIncreases = new Vector3(0.01f, 0.02f, 0.01f) })
                        .AddComponent(new CubeMesh())
                        .AddComponent(new MeshRenderer())
                        .AddComponent(new MaterialComponent() { Material = myMaterial });

    Recipes and samples.

    • [Component based Architecture recipe](../recipes/Basic/Component-based-Architecture.md)

    Constructors

    Entity()

    Initializes a new instance of the Entity class. By default, the Entity is visible and active.

    Declaration
    public Entity()

    Entity(string)

    Initializes a new instance of the Entity class. By default, the Entity is visible and active.

    Declaration
    public Entity(string name)
    Parameters
    Type Name Description
    string name

    The name of the entity.

    Exceptions
    Type Condition
    ArgumentNullException

    If name is null or empty.

    Fields

    Flags

    Special entity behavior flags.

    Declaration
    public HideFlags Flags
    Field Value
    Type Description
    HideFlags

    InvalidEntityNameStrings

    Strings that are not valid in an entity name.

    Declaration
    public static readonly string[] InvalidEntityNameStrings
    Field Value
    Type Description
    string[]

    IsUpdatingPrefab

    If the prefab is being updated.

    Declaration
    public bool IsUpdatingPrefab
    Field Value
    Type Description
    bool

    PathParent

    The separator string.

    Declaration
    public static readonly string PathParent
    Field Value
    Type Description
    string

    PathSelf

    The separator string.

    Declaration
    public static readonly string PathSelf
    Field Value
    Type Description
    string

    PathSeparatorChar

    The separator char used in EntityPath property.

    Declaration
    public static readonly char PathSeparatorChar
    Field Value
    Type Description
    char

    PathSeparatorString

    The separator string.

    Declaration
    public static readonly string PathSeparatorString
    Field Value
    Type Description
    string

    Properties

    ChildEntities

    Gets the children Entity of this instance.

    Declaration
    public IEnumerable<Entity> ChildEntities { get; }
    Property Value
    Type Description
    IEnumerable<Entity>

    Components

    Gets the Component collection of this instance.

    Declaration
    public IEnumerable<Component> Components { get; }
    Property Value
    Type Description
    IEnumerable<Component>

    EntityManager

    Gets the EntityManager that contains this instance.

    Declaration
    public EntityManager EntityManager { get; }
    Property Value
    Type Description
    EntityManager

    EntityPath

    Gets the Entity path. The entity path is a string that conform the path in the EntityManager to obtain the instance.

    Declaration
    public string EntityPath { get; }
    Property Value
    Type Description
    string

    IsPrefabInstanceRoot

    Gets a value indicating whether this entity is the root of a prefab instance.

    Declaration
    public bool IsPrefabInstanceRoot { get; }
    Property Value
    Type Description
    bool

    IsStatic

    Gets or sets a value indicating whether this instance is static. Once an entity is initialized, this cannot be displaced, rotated or scaled.

    Declaration
    public bool IsStatic { get; set; }
    Property Value
    Type Description
    bool

    true if this instance is static; otherwise, false.

    Name

    Gets or sets the name of the instance.

    Declaration
    public string Name { get; set; }
    Property Value
    Type Description
    string

    NumChildren

    Gets the number of children Entity actually contained in this instance.

    Declaration
    public int NumChildren { get; }
    Property Value
    Type Description
    int

    Parent

    Gets or sets the parent Entity.

    Declaration
    public Entity Parent { get; set; }
    Property Value
    Type Description
    Entity
    Exceptions
    Type Condition
    ObjectDisposedException

    Entity have been disposed.

    Scene

    Gets the Scene that contains this instance.

    Declaration
    public Scene Scene { get; }
    Property Value
    Type Description
    Scene

    ShouldBeActivated

    Gets a value indicating whether this object should be activated.

    Declaration
    protected override bool ShouldBeActivated { get; }
    Property Value
    Type Description
    bool
    Overrides
    AttachableObject.ShouldBeActivated

    Tag

    Gets or sets the Tag of the instance.

    Declaration
    public string Tag { get; set; }
    Property Value
    Type Description
    string

    Methods

    AddChild(Entity)

    Adds a child Entity to this instance.

    Declaration
    public Entity AddChild(Entity entity)
    Parameters
    Type Name Description
    Entity entity

    The Entity to add.

    Returns
    Type Description
    Entity

    This instance.

    Remarks

    The method returns this instance. It can be used with method chaining, so performing consecutive operations over the same instance is simpler.

    Exceptions
    Type Condition
    ArgumentNullException

    If entity is null.

    InvalidOperationException

    If entity was added to itself.

    InvalidOperationException

    If entity was already added to another Entity.

    InvalidOperationException

    If there already was an Entity with the same name as entity added to this instance.

    AddComponent(Component)

    Adds a Component to this instance.

    Declaration
    public Entity AddComponent(Component component)
    Parameters
    Type Name Description
    Component component

    The Component to add.

    Returns
    Type Description
    Entity

    This instance.

    Remarks

    The method returns this instance. It can be used with method chaining, so performing consecutive operations over the same instance is simpler.

    Exceptions
    Type Condition
    ArgumentException

    If component is null.

    InvalidOperationException

    If component was already added to another Entity.

    InvalidOperationException

    If there already was a Component of the same type as component added to this instance.

    DetachChild(Entity)

    Detaches the child Entity.

    Declaration
    public Entity DetachChild(Entity entity)
    Parameters
    Type Name Description
    Entity entity

    Name of the entity.

    Returns
    Type Description
    Entity

    The entity detached or null otherwise.

    Exceptions
    Type Condition
    ArgumentNullException

    If entity is null or empty.

    DetachChild(Guid)

    Detaches the child Entity.

    Declaration
    public Entity DetachChild(Guid id)
    Parameters
    Type Name Description
    Guid id

    Id of the entity.

    Returns
    Type Description
    Entity

    The entity detached or null otherwise.

    Exceptions
    Type Condition
    ArgumentNullException

    If entityName is null or empty.

    DetachChild(string)

    Detaches the child Entity.

    Declaration
    public Entity DetachChild(string childName)
    Parameters
    Type Name Description
    string childName

    Name of the child Entity.

    Returns
    Type Description
    Entity

    The entity detached or null otherwise.

    Exceptions
    Type Condition
    ArgumentNullException

    If entityName is null or empty.

    DetachComponent(Component)

    Removes a Component from this instance.

    Declaration
    public Entity DetachComponent(Component component)
    Parameters
    Type Name Description
    Component component

    The component to remove.

    Returns
    Type Description
    Entity

    This instance.

    Remarks

    The method returns this instance. It can be used with method chaining, so performing consecutive operations over the same instance is simpler.

    Exceptions
    Type Condition
    ObjectDisposedException

    The entity is disposed.

    NullReferenceException

    componentType or componentType.

    DetachComponent(Type, out Component, bool)

    Removes a Component from this instance.

    Declaration
    public Entity DetachComponent(Type componentType, out Component detachedComponent, bool isExactType = true)
    Parameters
    Type Name Description
    Type componentType

    Type of the component.

    Component detachedComponent

    The detached component instance.

    bool isExactType

    if set to true [is exact type].

    Returns
    Type Description
    Entity

    This instance.

    Remarks

    The method returns this instance. It can be used with method chaining, so performing consecutive operations over the same instance is simpler.

    Exceptions
    Type Condition
    ObjectDisposedException

    The entity is disposed.

    NullReferenceException

    componentType or componentType.

    DetachComponent<T>(out T, bool)

    Removes a Component from this instance.

    Declaration
    public Entity DetachComponent<T>(out T detachedComponent, bool isExactType = true) where T : Component
    Parameters
    Type Name Description
    T detachedComponent

    The detached component instance.

    bool isExactType

    if set totrue [is exact type].

    Returns
    Type Description
    Entity

    This instance.

    Type Parameters
    Name Description
    T

    Type of the Component to remove.

    Remarks

    The method returns this instance. It can be used with method chaining, so performing consecutive operations over the same instance is simpler.

    Find(string)

    Finds the first child Entity in this instance with a given entity path.

    Declaration
    public Entity Find(string entityPath)
    Parameters
    Type Name Description
    string entityPath

    The path to the entity.

    Returns
    Type Description
    Entity

    The entity of the path.

    FindChild(Guid, bool)

    Finds a child Entity in this instance with a id.

    Declaration
    public Entity FindChild(Guid id, bool isRecursive = false)
    Parameters
    Type Name Description
    Guid id

    Id of the child Entity.

    bool isRecursive

    If set to true the search will include all descendants of the hierarchy; otherwise, the search will only include the direct descendants.

    Returns
    Type Description
    Entity

    The searched child Entity, or null if no matching child was found.

    Exceptions
    Type Condition
    ArgumentNullException

    If entityName is null or empty.

    FindChild(string, bool)

    Finds the first child Entity in this instance with a given name.

    Declaration
    public Entity FindChild(string entityName, bool isRecursive = false)
    Parameters
    Type Name Description
    string entityName

    Name of the child Entity.

    bool isRecursive

    If set to true the search will include all descendants of the hierarchy; otherwise, the search will only include the direct descendants.

    Returns
    Type Description
    Entity

    The searched child Entity, or null if no matching child was found.

    Exceptions
    Type Condition
    ArgumentNullException

    If entityName is null or empty.

    FindChildrenByTag(string, bool, bool)

    Find children Entity in this instance by Tag.

    Declaration
    public IEnumerable<Entity> FindChildrenByTag(string tag, bool isRecursive = false, bool skipOwner = true)
    Parameters
    Type Name Description
    string tag

    The tag to filter.

    bool isRecursive

    If set to true the search will include all descendants of the hierarchy; otherwise, the search will only include the direct descendants.

    bool skipOwner

    Ignore the owner entity.

    Returns
    Type Description
    IEnumerable<Entity>

    A collection of Entity, with all children that match the specified Tag.

    Exceptions
    Type Condition
    ArgumentNullException

    If tag is null or empty.

    FindComponent(Type, bool, string)

    Finds a Component in this instance with the specified type.

    Declaration
    public Component FindComponent(Type type, bool isExactType = true, string tag = null)
    Parameters
    Type Name Description
    Type type

    The type of the Component to find.

    bool isExactType

    Whether to match the exact type.

    string tag

    Filter entities by this tag.

    Returns
    Type Description
    Component

    The Component or null if no Component with the specified type was found.

    Exceptions
    Type Condition
    ObjectDisposedException

    Entity has been disposed.

    FindComponentInChildren(Type, bool, string, bool, bool)

    Finds a Component in this instance or any of its children with the specified type using depth first search.

    Declaration
    public Component FindComponentInChildren(Type type, bool isExactType = true, string tag = null, bool skipOwner = false, bool isRecursive = true)
    Parameters
    Type Name Description
    Type type

    The type of the Component to find.

    bool isExactType

    Whether to match the exact type.

    string tag

    Filter entities by this tag.

    bool skipOwner

    Indicates whether the owner is included in the search.

    bool isRecursive

    If set to true the search will include all descendants of the hierarchy; otherwise, the search will only include the direct descendants.

    Returns
    Type Description
    Component

    The Component or null if no Component with the specified type was found.

    Exceptions
    Type Condition
    ObjectDisposedException

    Entity has been disposed.

    FindComponentInChildren<T>(bool, string, bool, bool)

    Finds a Component in this instance or any of its children with the specified type using depth first search.

    Declaration
    public T FindComponentInChildren<T>(bool isExactType = true, string tag = null, bool skipOwner = false, bool isRecursive = true) where T : Component
    Parameters
    Type Name Description
    bool isExactType

    Whether to match the exact type.

    string tag

    Filter entities by this tag.

    bool skipOwner

    Indicates whether the owner is included in the search.

    bool isRecursive

    If set to true the search will include all descendants of the hierarchy; otherwise, the search will only include the direct descendants.

    Returns
    Type Description
    T

    The Component or null if no Component with the specified type was found.

    Type Parameters
    Name Description
    T

    The type of the Component to find.

    Exceptions
    Type Condition
    ObjectDisposedException

    Entity has been disposed.

    FindComponentInParents(Type, bool, string, bool, bool)

    Finds a Component in any of the parents of this instance with the specified type using depth first search.

    Declaration
    public Component FindComponentInParents(Type type, bool isExactType = true, string tag = null, bool skipOwner = false, bool isRecursive = true)
    Parameters
    Type Name Description
    Type type

    The type of the Component to find.

    bool isExactType

    Whether to match the exact type.

    string tag

    Filter entities by this tag.

    bool skipOwner

    Indicates whether the owner is included in the search.

    bool isRecursive

    If set to true the search will include all descendants of the hierarchy; otherwise, the search will only include the direct descendants.

    Returns
    Type Description
    Component

    The Component or null if no Component with the specified type was found.

    Exceptions
    Type Condition
    ObjectDisposedException

    Entity has been disposed.

    FindComponentInParents<T>(bool, string, bool, bool)

    Finds a Component in any of the parents of this instance with the specified type using depth first search.

    Declaration
    public T FindComponentInParents<T>(bool isExactType = true, string tag = null, bool skipOwner = false, bool isRecursive = true) where T : Component
    Parameters
    Type Name Description
    bool isExactType

    Whether to match the exact type.

    string tag

    Filter entities by this tag.

    bool skipOwner

    Indicates whether the owner is included in the search.

    bool isRecursive

    If set to true the search will include all descendants of the hierarchy; otherwise, the search will only include the direct descendants.

    Returns
    Type Description
    T

    The Component or null if no Component with the specified type was found.

    Type Parameters
    Name Description
    T

    The type of the Component to find.

    Exceptions
    Type Condition
    ObjectDisposedException

    Entity has been disposed.

    FindComponent<T>(bool, string)

    Finds a Component in this instance with the specified type.

    Declaration
    public T FindComponent<T>(bool isExactType = true, string tag = null) where T : Component
    Parameters
    Type Name Description
    bool isExactType

    Whether to match the exact type.

    string tag

    Filter entities by this tag.

    Returns
    Type Description
    T

    The Component or null if no Component with the specified type was found.

    Type Parameters
    Name Description
    T

    The type of the Component to find.

    Exceptions
    Type Condition
    ObjectDisposedException

    Entity has been disposed.

    FindComponents(Type, bool, string)

    Finds a Component collection in this instance with the specified type.

    Declaration
    public IEnumerable<Component> FindComponents(Type type, bool isExactType = true, string tag = null)
    Parameters
    Type Name Description
    Type type

    The type of the Component to find.

    bool isExactType

    Whether to match the exact type.

    string tag

    Filter entities by this tag.

    Returns
    Type Description
    IEnumerable<Component>

    The Component or null if no Component with the specified type was found.

    Exceptions
    Type Condition
    ObjectDisposedException

    Entity has been disposed.

    FindComponentsInChildren(Type, bool, string, bool, bool)

    Finds a Component collection in this instance or any of its children with the specified type.

    Declaration
    public IEnumerable<Component> FindComponentsInChildren(Type type, bool isExactType = true, string tag = null, bool skipOwner = false, bool isRecursive = true)
    Parameters
    Type Name Description
    Type type

    The type of the Component to find.

    bool isExactType

    Whether to match the exact type.

    string tag

    Filter entities by this tag.

    bool skipOwner

    Indicates whether the owner is included in the search.

    bool isRecursive

    If set to true the search will include all descendants of the hierarchy; otherwise, the search will only include the direct descendants.

    Returns
    Type Description
    IEnumerable<Component>

    The Component or null if no Component with the specified type was found.

    Exceptions
    Type Condition
    ObjectDisposedException

    Entity has been disposed.

    FindComponentsInChildren<T>(bool, string, bool, bool)

    Finds a Component collection in this instance or any of its children with the specified type.

    Declaration
    public IEnumerable<T> FindComponentsInChildren<T>(bool isExactType = true, string tag = null, bool skipOwner = false, bool isRecursive = true) where T : Component
    Parameters
    Type Name Description
    bool isExactType

    Whether to match the exact type.

    string tag

    Filter entities by this tag.

    bool skipOwner

    Indicates whether the owner is included in the search.

    bool isRecursive

    If set to true the search will include all descendants of the hierarchy; otherwise, the search will only include the direct descendants.

    Returns
    Type Description
    IEnumerable<T>

    The Component or null if no Component with the specified type was found.

    Type Parameters
    Name Description
    T

    The type of the Component to find.

    Exceptions
    Type Condition
    ObjectDisposedException

    Entity has been disposed.

    FindComponentsInParents(Type, bool, string, bool, bool)

    Finds a Component collection in this instance or any of its parents with the specified type.

    Declaration
    public IEnumerable<Component> FindComponentsInParents(Type type, bool isExactType = true, string tag = null, bool skipOwner = false, bool isRecursive = true)
    Parameters
    Type Name Description
    Type type

    The type of the Component to find.

    bool isExactType

    Whether to match the exact type.

    string tag

    Filter entities by this tag.

    bool skipOwner

    Indicates whether the owner is included in the search.

    bool isRecursive

    If set to true the search will include all ascendants of the hierarchy; otherwise, the search will only include the direct ascendant.

    Returns
    Type Description
    IEnumerable<Component>

    The Component or null if no Component with the specified type was found.

    Exceptions
    Type Condition
    ObjectDisposedException

    Entity has been disposed.

    FindComponentsInParents<T>(bool, string, bool, bool)

    Finds a Component collection in this instance or any of its parents with the specified type.

    Declaration
    public IEnumerable<T> FindComponentsInParents<T>(bool isExactType = true, string tag = null, bool skipOwner = false, bool isRecursive = true) where T : Component
    Parameters
    Type Name Description
    bool isExactType

    Whether to match the exact type.

    string tag

    Filter entities by this tag.

    bool skipOwner

    Indicates whether the owner is included in the search.

    bool isRecursive

    If set to true the search will include all ascendants of the hierarchy; otherwise, the search will only include the direct ascendant.

    Returns
    Type Description
    IEnumerable<T>

    The Component or null if no Component with the specified type was found.

    Type Parameters
    Name Description
    T

    The type of the Component to find.

    Exceptions
    Type Condition
    ObjectDisposedException

    Entity has been disposed.

    FindComponents<T>(bool, string)

    Finds a Component collection in this instance with the specified type.

    Declaration
    public IEnumerable<T> FindComponents<T>(bool isExactType = true, string tag = null) where T : Component
    Parameters
    Type Name Description
    bool isExactType

    Whether to match the exact type.

    string tag

    Filter entities by this tag.

    Returns
    Type Description
    IEnumerable<T>

    The Component or null if no Component with the specified type was found.

    Type Parameters
    Name Description
    T

    The type of the Component to find.

    Exceptions
    Type Condition
    ObjectDisposedException

    Entity has been disposed.

    FindParentsByTag(string, bool, bool)

    Find children Entity in this instance by Tag.

    Declaration
    public IEnumerable<Entity> FindParentsByTag(string tag, bool isRecursive = false, bool skipOwner = true)
    Parameters
    Type Name Description
    string tag

    The tag to filter.

    bool isRecursive

    If set to true the search will include all descendants of the hierarchy; otherwise, the search will only include the direct descendants.

    bool skipOwner

    Ignore the owner entity.

    Returns
    Type Description
    IEnumerable<Entity>

    A collection of Entity, with all children that match the specified Tag.

    Exceptions
    Type Condition
    ArgumentNullException

    If tag is null or empty.

    IdHasChanged(Guid)

    The Id of the object has been updated.

    Declaration
    protected override void IdHasChanged(Guid oldId)
    Parameters
    Type Name Description
    Guid oldId

    The old Id value.

    Overrides
    IdentifiableObject.IdHasChanged(Guid)

    IsValidName(string)

    Check an entity name.

    Declaration
    public static bool IsValidName(string name)
    Parameters
    Type Name Description
    string name

    The entity name.

    Returns
    Type Description
    bool

    If it's valid or not.

    NextDefaultName()

    Return a default entity name.

    Declaration
    public static string NextDefaultName()
    Returns
    Type Description
    string

    The entity name.

    OnActivated()

    Invoked when the object is activated once is attached.

    Declaration
    protected override void OnActivated()
    Overrides
    AttachableObject.OnActivated()

    OnAttached()

    Invoked when the object is attached to the system.

    Declaration
    protected override bool OnAttached()
    Returns
    Type Description
    bool

    True if all is OK.

    Overrides
    AttachableObject.OnAttached()

    OnDeactivated()

    Invoked when the object is deactivated.

    Declaration
    protected override void OnDeactivated()
    Overrides
    AttachableObject.OnDeactivated()

    OnDestroy()

    Invoked when the object is going to be disposed.

    Declaration
    protected override void OnDestroy()
    Overrides
    AttachableObject.OnDestroy()

    OnDetach()

    Invoked when the object is detached.

    Declaration
    protected override void OnDetach()
    Overrides
    AttachableObject.OnDetach()

    OnLoaded()

    Invoked when the object is loaded.

    Declaration
    protected override void OnLoaded()
    Overrides
    AttachableObject.OnLoaded()

    ReattachComponents()

    Reattach all components.

    Declaration
    public void ReattachComponents()

    RefreshPrefab(Prefab)

    Handles the prefab source update.

    Declaration
    protected override void RefreshPrefab(Prefab newValue)
    Parameters
    Type Name Description
    Prefab newValue
    Overrides
    PrefabInstanceObject.RefreshPrefab(Prefab)

    RemoveAllComponentsOfType(Type, bool)

    Removes all components of specified type from this instance.

    Declaration
    public Entity RemoveAllComponentsOfType(Type componentType, bool isExactType = true)
    Parameters
    Type Name Description
    Type componentType

    Type of the component.

    bool isExactType

    if set to true [is exact type].

    Returns
    Type Description
    Entity

    This instance.

    Remarks

    The method returns this instance. It can be used with method chaining, so performing consecutive operations over the same instance is simpler.

    Exceptions
    Type Condition
    ObjectDisposedException

    The entity is disposed.

    NullReferenceException

    componentType or componentType.

    RemoveAllComponentsOfType<T>(bool)

    Removes all components of specified type from this instance.

    Declaration
    public Entity RemoveAllComponentsOfType<T>(bool isExactType = true) where T : Component
    Parameters
    Type Name Description
    bool isExactType

    if set to true [is exact type].

    Returns
    Type Description
    Entity

    This instance.

    Type Parameters
    Name Description
    T

    The exact type of the Component to find.

    Remarks

    The method returns this instance. It can be used with method chaining, so performing consecutive operations over the same instance is simpler.

    Exceptions
    Type Condition
    ObjectDisposedException

    The entity is disposed.

    NullReferenceException

    componentType or componentType.

    RemoveChild(Entity)

    Removes a child Entity from this instance.

    Declaration
    public Entity RemoveChild(Entity entity)
    Parameters
    Type Name Description
    Entity entity

    The Entity to remove.

    Returns
    Type Description
    Entity

    This instance.

    Remarks

    The method returns this instance. It can be used with method chaining, so performing consecutive operations over the same instance is simpler.

    Exceptions
    Type Condition
    ArgumentNullException

    If entity is null.

    RemoveChild(Guid)

    Removes a child Entity from this instance.

    Declaration
    public Entity RemoveChild(Guid id)
    Parameters
    Type Name Description
    Guid id

    Id of the child Entity.

    Returns
    Type Description
    Entity

    This instance.

    Remarks

    The method returns this instance. It can be used with method chaining, so performing consecutive operations over the same instance is simpler.

    Exceptions
    Type Condition
    ArgumentNullException

    If entityName is null or empty.

    RemoveChild(string)

    Removes a child Entity from this instance.

    Declaration
    public Entity RemoveChild(string childName)
    Parameters
    Type Name Description
    string childName

    Name of the child Entity.

    Returns
    Type Description
    Entity

    This instance.

    Remarks

    The method returns this instance. It can be used with method chaining, so performing consecutive operations over the same instance is simpler.

    Exceptions
    Type Condition
    ArgumentNullException

    If entityName is null or empty.

    RemoveComponent(Component)

    Removes a Component from this instance.

    Declaration
    public Entity RemoveComponent(Component component)
    Parameters
    Type Name Description
    Component component

    The component to remove.

    Returns
    Type Description
    Entity

    This instance.

    Remarks

    The method returns this instance. It can be used with method chaining, so performing consecutive operations over the same instance is simpler.

    Exceptions
    Type Condition
    ObjectDisposedException

    The entity is disposed.

    NullReferenceException

    componentType or componentType.

    RemoveComponent(Type, bool)

    Removes a Component from this instance.

    Declaration
    public Entity RemoveComponent(Type componentType, bool isExactType = true)
    Parameters
    Type Name Description
    Type componentType

    Type of the component.

    bool isExactType

    if set to true [is exact type].

    Returns
    Type Description
    Entity

    This instance.

    Remarks

    The method returns this instance. It can be used with method chaining, so performing consecutive operations over the same instance is simpler.

    Exceptions
    Type Condition
    ObjectDisposedException

    The entity is disposed.

    NullReferenceException

    componentType or componentType.

    RemoveComponent<T>(bool)

    Removes a Component from this instance.

    Declaration
    public Entity RemoveComponent<T>(bool isExactType = true) where T : Component
    Parameters
    Type Name Description
    bool isExactType

    if set totrue [is exact type].

    Returns
    Type Description
    Entity

    This instance.

    Type Parameters
    Name Description
    T

    Type of the Component to remove.

    Remarks

    The method returns this instance. It can be used with method chaining, so performing consecutive operations over the same instance is simpler.

    Start()

    Invoked to start the object.

    Declaration
    protected override void Start()
    Overrides
    AttachableObject.Start()

    ToString()

    Returns a string that represents this instance (its name).

    Declaration
    public override string ToString()
    Returns
    Type Description
    string

    A string that represents this instance (its name).

    Overrides
    object.ToString()

    TryGetChildById(Guid, out Entity)

    Gets the child entity with the specified id.

    Declaration
    public bool TryGetChildById(Guid entityId, out Entity childEntity)
    Parameters
    Type Name Description
    Guid entityId

    The id of the entity to get.

    Entity childEntity

    When this method returns, contains the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized.

    Returns
    Type Description
    bool

    true if this Entity contains a child with the specified id; otherwise, false.

    Exceptions
    Type Condition
    ArgumentNullException

    If the entity name is null.

    TryGetChildByName(string, out Entity)

    Gets the first child entity with the specified name.

    Declaration
    public bool TryGetChildByName(string entityName, out Entity childEntity)
    Parameters
    Type Name Description
    string entityName

    The name of the entity to get.

    Entity childEntity

    When this method returns, contains the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized.

    Returns
    Type Description
    bool

    true if this Entity contains the first child with the specified name; otherwise, false.

    Exceptions
    Type Condition
    ArgumentNullException

    If the entity name is null.

    Events

    CheckValidName

    Occurs when a valid name is set to an entity.

    Declaration
    public event EventHandler<ValidNameEventArgs> CheckValidName
    Event Type
    Type Description
    EventHandler<ValidNameEventArgs>

    ChildAdded

    Occurs when an Entity is added as child of this entity.

    Declaration
    public event EventHandler<Entity> ChildAdded
    Event Type
    Type Description
    EventHandler<Entity>

    ChildDetached

    Occurs when an Entity child is detached from this entity.

    Declaration
    public event EventHandler<Entity> ChildDetached
    Event Type
    Type Description
    EventHandler<Entity>

    ChildOrderChanged

    Occurs when an Entity child order has been changed.

    Declaration
    public event EventHandler<Entity> ChildOrderChanged
    Event Type
    Type Description
    EventHandler<Entity>

    ComponentAdded

    Occurs when a Component is added to this entity.

    Declaration
    public event EventHandler<Component> ComponentAdded
    Event Type
    Type Description
    EventHandler<Component>

    ComponentDetached

    Occurs when a Component is detached from this entity.

    Declaration
    public event EventHandler<Component> ComponentDetached
    Event Type
    Type Description
    EventHandler<Component>

    NameChanged

    Occurs when the entity's name changes.

    Declaration
    public event EventHandler<NameEventArgs> NameChanged
    Event Type
    Type Description
    EventHandler<NameEventArgs>

    TagChanged

    Fired when the entity tag has been changed.

    Declaration
    public event EventHandler<ValueChanged<string>> TagChanged
    Event Type
    Type Description
    EventHandler<ValueChanged<string>>

    Implements

    IDependencyObject

    Extension Methods

    EntityHierarchyExtensions.MoveEntityAfter(Entity, Guid, Guid?)
    EntityHierarchyExtensions.MoveEntityBefore(Entity, Guid, Guid?)
    ReflectionHelper.GetMemberAssembly(object)
    ReflectionHelper.GetTypeName(object)
    In this article
    Back to top
    Generated by DocFX