Introducing the entity system
The entity system exists to spawn and manage entities in the game world. Entities are logical containers, allowing drastic changes in behavior at runtime. For example, an entity can change its model, position, and orientation at any point in the game.
Consider this; every item, weapon, vehicle, and even player that you have interacted with in the engine is an entity. The entity system is one of the most important modules present in the engine, and is dealt regularly by programmers.
The entity system, accessible via the IEntitySystem
interface, manages all entities in the game. Entities are referenced to using the entityId
type definition, which allows 65536 unique entities at any given time.
If an entity is marked for deletion, for example, IEntity::Remove(bool bNow = false)
, the entity system will delete this prior to updating at the start of the next frame. If the bNow
parameter is set to true, the entity will be removed right away.
Entity classes
Entities are...