Skip to content
Snippets Groups Projects
Select Git revision
  • b2283a97ceca0cb3bda2c025918a5d8f03cbf7df
  • master default protected
2 results

Components.hpp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Components.hpp 490 B
    #pragma once
    
    #include <functional>
    
    namespace Engine
    {
    	class SceneObject;
    
    	namespace Components
    	{
    		template<typename T>
    		constexpr bool IsSingleton() { return false; }
    
    		class ComponentBase
    		{
    		public:
    			explicit ComponentBase(SceneObject& owningObject);
    
    			[[nodiscard]] SceneObject& GetSceneObject();
    			[[nodiscard]] const SceneObject& GetSceneObject() const;
    
    			[[nodiscard]] size_t GetID() const;
    
    		private:
    			std::reference_wrapper<SceneObject> sceneObjectRef;
    		};
    	}
    }