aboutsummaryrefslogtreecommitdiffstats
path: root/yage/entity/entity.h
diff options
context:
space:
mode:
Diffstat (limited to 'yage/entity/entity.h')
-rw-r--r--yage/entity/entity.h14
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