#pragma once #include #include #include using EntityID = uint64_t; struct Entity; struct EntityManager { static EntityID ID; Arena* Arena; // TODO: Should be a pool VectorArena Entities; }; void InitEntityManager(NonNullPtr world); void ShutdownEntityManager(); EntityManager& GetEntityManager(); void RegisterEntity(EntityManager& manager, Entity* entity); void UpdateEntityManager(EntityManager& manager);