1.9 KiB
1.9 KiB
| JavaECS | docs | entity | entity.md
Entity
Contents
About
An 'entity' is a unique ID.
For most implementations, it makes sense to use a simple integer value - usually in a packed array (reuses the most minimal value it can)
E.g.: The ID 101 would be the next selected value for a new entity.
100 101 102 103 104 ... used unused used used unused ....
This ID represents a specific instance of a game object
e.g. character, vehicle, effect etc.
An entity contains no further data.
In order to be useful, its identifier must be registered to one or more components.
Entities are also initialised with a Java BitSet. Each bit represents the index of a component, to determine which component an entity is registered to
Usage
some specific usage info here
void todo();
Notes
- The only requirement for a Entity is that it has a unique ID. An entity manager could implement a more complex ID system such as using a packed array for only a small region of IDs, or using named IDs by use of a dictionary or ordered hash-map
- The maximum number of entities is limited by the size of the container used to store it. E.g., for a 32-bit unsigned integer, there are ~4.3 billion ID's available. But keep in mind that such a large amount of IDs will take significant time for each system to consider.
- LinkedList is used to initialise the arrays, as a linked list is not limited to a maximum size: (https://stackoverflow.com/questions/3767979/how-much-data-can-a-list-can-hold-at-the-maximum)