// Copyright (C) 2020 Jérôme Leclercq // This file is part of the "Nazara Engine - Core module" // For conditions of distribution and use, see copyright notice in Config.hpp #pragma once #ifndef NAZARA_ECS_HPP #define NAZARA_ECS_HPP #include #include #include namespace Nz { class CameraComponent; class GraphicsComponent; class NodeComponent; class RigidBody3DComponent; class ECS : public ModuleBase { friend ModuleBase; friend class Audio; friend class Graphics; friend class Physics2D; friend class Physics3D; friend class Utility; public: using Dependencies = TypeList; struct Config {}; inline ECS(Config /*config*/); ~ECS() = default; private: static inline void RegisterComponents(); NAZARA_CORE_API static ECS* s_instance; }; } #include #endif