diff options
Diffstat (limited to 'yage/entity/entity.h')
-rw-r--r-- | yage/entity/entity.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/yage/entity/entity.h b/yage/entity/entity.h index 01a47f5c..d9a221b9 100644 --- a/yage/entity/entity.h +++ b/yage/entity/entity.h @@ -1,6 +1,8 @@ #include <bitset> #include <vector> +namespace yage { + /** * The entity is currently just an unsigned integer, which may change to a * class in the future. @@ -38,13 +40,19 @@ class ComponentGroup; class EntityManager { public: - Entity createEntity(); - EntityManager &deleteEntity(Entity entity); - void addComponent(Entity entity, BaseComponent *component); + Entity create_entity(); + EntityManager &delete_entity(Entity entity); + bool is_valid(Entity entity) const; + void add_component(Entity entity, BaseComponent *component); private: + Entity update_next_entity(); + Entity next_entity_; std::vector<BaseComponentGroup *> component_group_; std::vector<ComponentMask> component_masks_; + std::vector<Entity> deleted_; }; + +} // namespace yage |