User Tools

Site Tools


ientity

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ientity [2026/08/15 08:22] – divinerientity [2026/08/15 08:25] (current) – diviner
Line 43: Line 43:
 === Static Data ID and Entity Identity === === Static Data ID and Entity Identity ===
  
-The ID stored by [[IEntityStaticData|EntityStaticData]] identifies the **type or definition of Entity being created**, not a unique runtime Entity instance. Multiple Entity instances can be created from the same Entity Static Data and therefore share the same StaticDataID.+The ID stored by [[IEntityStaticData|EntityStaticData]] identifies the **type or definition of Entity being created**, not a unique runtime Entity instance. Multiple Entity instances can be created from the same EntityStaticData and therefore share the same StaticDataID.
  
 When an Entity requires a persistent unique runtime identifier, it contains an [[IEntityIdentifierComponent]]. That Component's UID is used by systems such as serialization to identify a specific Entity instance independently of its Static Data definition. When an Entity requires a persistent unique runtime identifier, it contains an [[IEntityIdentifierComponent]]. That Component's UID is used by systems such as serialization to identify a specific Entity instance independently of its Static Data definition.
Line 51: Line 51:
 There are two internal implementations of [[IEntity]]: ''ArrayEntity'' and ''SetEntity''. Both expose the same IEntity API and this distinction is intentionally hidden from consumers. There are two internal implementations of [[IEntity]]: ''ArrayEntity'' and ''SetEntity''. Both expose the same IEntity API and this distinction is intentionally hidden from consumers.
  
-The [[IEntityFactory]] automatically selects the implementation based on the number of Components defined by the Entity Static Data.+The [[IEntityFactory]] automatically selects the implementation based on the number of Components defined by the EntityStaticData.
  
   * **ArrayEntity** is currently used for Entities with fewer than 10 Components. Components and their Types are stored in arrays and Component lookups perform a small linear search. This avoids the additional overhead of a dictionary for Entities with small Component collections.   * **ArrayEntity** is currently used for Entities with fewer than 10 Components. Components and their Types are stored in arrays and Component lookups perform a small linear search. This avoids the additional overhead of a dictionary for Entities with small Component collections.
Line 68: Line 68:
 === Properties === === Properties ===
 ^Property | [[IEntityStaticData]] **StaticData** | ^Property | [[IEntityStaticData]] **StaticData** |
-^Description | Returns the [[IEntityStaticData|Entity Static Data]] from which the Entity was created. This describes the Entity's static definition and Component composition. |+^Description | Returns the [[IEntityStaticData|EntityStaticData]] from which the Entity was created. This describes the Entity's static definition and Component composition. |
  
 === Methods === === Methods ===
 ^Method | void **AddComponents**(Dictionary<Type, [[IComponent]]> components) | ^Method | void **AddComponents**(Dictionary<Type, [[IComponent]]> components) |
-^Description | Attaches supplied Components to the Entity. This method is primarily used by the [[IEntityFactory]] during Entity construction after the Component collection has been generated from the Entity's Static Data and generally does not need to be called directly by consumers. |+^Description | Attaches supplied Components to the Entity. This method is primarily used by the [[IEntityFactory]] during Entity construction after the Component collection has been generated from the Entity's StaticData and should never be called directly by consumers. |
  
 ^Method | T **GetComponent<T>**() where T : [[IComponent]] | ^Method | T **GetComponent<T>**() where T : [[IComponent]] |
ientity.1786782152.txt.gz · Last modified: by diviner

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki