ientity
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| ientity [2026/08/15 08:23] – diviner | ientity [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 |
| When an Entity requires a persistent unique runtime identifier, it contains an [[IEntityIdentifierComponent]]. That Component' | When an Entity requires a persistent unique runtime identifier, it contains an [[IEntityIdentifierComponent]]. That Component' | ||
| Line 51: | Line 51: | ||
| There are two internal implementations of [[IEntity]]: | There are two internal implementations of [[IEntity]]: | ||
| - | 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 72: | Line 72: | ||
| === Methods === | === Methods === | ||
| ^Method | void **AddComponents**(Dictionary< | ^Method | void **AddComponents**(Dictionary< | ||
| - | ^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' | + | ^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' |
| ^Method | T **GetComponent< | ^Method | T **GetComponent< | ||
ientity.1786782215.txt.gz · Last modified: by diviner
