diff --git a/ege/Entity.cpp b/ege/Entity.cpp index aff5133..9f934e0 100644 --- a/ege/Entity.cpp +++ b/ege/Entity.cpp @@ -151,6 +151,18 @@ void ege::Entity::rmComponent(const etk::String& _type) { } } +ememory::SharedPtr ege::Entity::getComponent(const etk::String& _type) { + // check if not exist + for (size_t iii=0; iiigetType() == _type) { + return m_component[iii]; + } + } + return nullptr; +} diff --git a/ege/Entity.hpp b/ege/Entity.hpp index ae13b9e..db7b289 100644 --- a/ege/Entity.hpp +++ b/ege/Entity.hpp @@ -46,6 +46,7 @@ namespace ege { void addComponent(const ememory::SharedPtr& _ref); void rmComponent(const ememory::SharedPtr& _ref); void rmComponent(const etk::String& _type); + ememory::SharedPtr getComponent(const etk::String& _type); /** * @brief get the Entity Type description string.