// Copyright (C) 2023 Jérôme "Lynix" Leclercq (lynix680@gmail.com) // This file is part of the "Nazara Engine - JoltPhysics3D module" // For conditions of distribution and use, see copyright notice in Config.hpp #pragma once #ifndef NAZARA_JOLTPHYSICS3D_HPP #define NAZARA_JOLTPHYSICS3D_HPP #include #include #include #include namespace JPH { class JobSystem; class JobSystemThreadPool; } namespace Nz { class NAZARA_JOLTPHYSICS3D_API JoltPhysics3D : public ModuleBase { friend ModuleBase; public: using Dependencies = TypeList; struct Config {}; JoltPhysics3D(Config /*config*/); ~JoltPhysics3D(); JPH::JobSystem& GetThreadPool(); private: std::unique_ptr m_threadPool; static JoltPhysics3D* s_instance; }; } #endif // NAZARA_JOLTPHYSICS3D_HPP