From b9f90793c8c0468d5f35d7af976a6e3bcd206aad Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Fri, 1 Sep 2023 10:10:51 -0400 Subject: add first graphics binding component --- src/ecs.hpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'src/ecs.hpp') diff --git a/src/ecs.hpp b/src/ecs.hpp index d37ff57..a777a4a 100644 --- a/src/ecs.hpp +++ b/src/ecs.hpp @@ -4,22 +4,25 @@ #include "dynamic-array.hpp" #include "macros.hpp" #include "memory.hpp" +#include "components.hpp" #include "glm/vec3.hpp" -TypeSafeInt_H(EntityHandle, uint64_t, UINT64_MAX); - extern DynArray EntitiesToBeRemoved; -struct Entity { - EntityHandle handle = EntityHandle{EntityHandle_T{0xFFFFFFFFFFFFFFFF}}; - EntityHandle parentHandle = EntityHandle{EntityHandle_T{0xFFFFFFFFFFFFFFFF}}; - bool isMarkedForRemoval = false; -}; +static struct { + uint64_t Entity = 1ULL << 0; + uint64_t GrBinds = 1ULL << 1; +} ComponentTypes; void ECS_Init(); void ECS_Tick(double delta); EntityHandle ECS_CreateEntity(EntityHandle parentEntityHandle = EntityHandle{EntityHandle_T{0xFFFFFFFFFFFFFFFF}}); void ECS_MarkForRemoval(EntityHandle entityHandle); +CompGrBinds &ECS_CreateGrBinds(EntityHandle entHandle); +CompGrBinds *ECS_GetGrBinds(EntityHandle entHandle); +uint64_t ECS_GetGrBinds_BucketCount(); +CompGrBinds *ECS_GetGrBinds(uint64_t bucketIndex, uint64_t &itemCount); + #endif /* PKE_ECS_HPP */ -- cgit v1.2.3