|
Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
|
An Entity is meant to refer to one logical "Object". It is similar to a GameObject in the Unity Engine, or an Actor in Unreal Engine. Object is not an official Grindstone term, but is used here for the sake of explanation.
Entities in Grindstone are simply an ID that can be used to refer to one or more Components. Entities should always have at least a Transform and Tag component. You can use the Grindstone::ECS::Entity class to wrap an entity and more simply utilize the helper functions it has.
In reality, a logical "Object" may have many entities that relate to them. For example, a player may have a:
Technically, each entity would not have any data or logic associated with it directly, but instead, they are given through components, including their name through the Tag component, position through the Transform component, appearance through MeshRendererComponent, and many more gameplay-specific components.