21 bool Create(Physics::World::Params params);
27 Physics::WorldRef
GetWorld() {
return m_World; }
31 static void*
EnqueueTask(b2TaskCallback* task, int32_t itemCount, int32_t minRange,
void* taskContext,
void* userContext);
32 static void FinishTask(
void* taskPtr,
void* userContext);
35 struct Box2DTaskGroup {
36 std::vector<std::future<void>> futures;
39 Physics::World m_World;
41 uint16_t m_WorkerCount{ 1 };
42 std::array<Box2DTaskGroup, CORI_PHYSICS_TASK_POOL_SIZE> m_TaskPool;
43 std::atomic<uint16_t> m_CurrentTaskIndex;
45 void OnRigidBodyCreate(entt::registry& registry, entt::entity entity);