summaryrefslogtreecommitdiff
path: root/src/ecs.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ecs.hpp')
-rw-r--r--src/ecs.hpp23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/ecs.hpp b/src/ecs.hpp
index 4deacaf..567f6df 100644
--- a/src/ecs.hpp
+++ b/src/ecs.hpp
@@ -8,8 +8,8 @@
#include "glm/vec3.hpp"
-extern DynArray<EntityHandle> EntitiesToBeRemoved;
-extern DynArray<EntityHandle> EntitiesWithExcessInstances;
+extern DynArray<Entity_Base *> EntitiesToBeRemoved;
+extern DynArray<Entity_Base *> EntitiesWithExcessInstances;
static struct {
uint64_t Entity = 1ULL << 0;
@@ -22,22 +22,21 @@ void ECS_Teardown();
void ECS_Tick_Early(double delta);
void ECS_Tick(double delta);
void ECS_Tick_Late(double delta);
-EntityHandle ECS_CreateEntity(EntityHandle parentEntHandle = EntityHandle{});
-void ECS_MarkForRemoval(EntityHandle entHandle);
-uint64_t ECS_GetEntities_BucketCount();
-Entity *ECS_GetEntities(uint64_t bucketIndex, uint64_t &itemCount);
-void ECS_HandleCollision(EntityHandle lhs, EntityHandle rhs);
+EntityHandle ECS_CreateEntity(Entity_Base *entity, Entity_Base *parentEnt = nullptr);
+Entity_Base *ECS_GetEntity(EntityHandle handle);
+void ECS_MarkForRemoval(Entity_Base *entity);
-CompGrBinds &ECS_CreateGrBinds(EntityHandle entHandle);
-CompGrBinds *ECS_GetGrBinds(EntityHandle entHandle);
+void ECS_HandleCollision(Entity_Base *lhs, Entity_Base *rhs);
+
+CompGrBinds *ECS_CreateGrBinds(Entity_Base *);
CompGrBinds *ECS_GetGrBinds(GrBindsHandle grBindsHandle);
uint64_t ECS_GetGrBinds_BucketCount();
CompGrBinds *ECS_GetGrBinds(uint64_t bucketIndex, uint64_t &itemCount);
-CompInstance &ECS_CreateInstance(EntityHandle entHandle, EntityHandle entityTypeEntityHandle);
-CompInstance *ECS_GetInstance(EntityHandle entHandle);
-void ECS_UpdateInstance(EntityHandle entHandle, const InstPos &instPos, bool overridePhysics = false);
+CompInstance *ECS_CreateInstance(Entity_Base *entity, CompGrBinds *entityTypeGrBinds);
+CompInstance *ECS_GetInstance(InstanceHandle instanceHandle);
+void ECS_UpdateInstance(CompInstance *instance, const InstPos &instPos, bool overridePhysics = false);
uint64_t ECS_GetInstances_BucketCount();
CompInstance *ECS_GetInstances(uint64_t bucketIndex, uint64_t &itemCount);