diff options
-rw-r--r-- | src/crepe/api/Script.cpp | 1 | ||||
-rw-r--r-- | src/crepe/api/Script.h | 5 | ||||
-rw-r--r-- | src/crepe/api/Script.hpp | 17 |
3 files changed, 10 insertions, 13 deletions
diff --git a/src/crepe/api/Script.cpp b/src/crepe/api/Script.cpp index 0dfdd6f..5016ed0 100644 --- a/src/crepe/api/Script.cpp +++ b/src/crepe/api/Script.cpp @@ -1,4 +1,3 @@ #include "Script.h" using namespace crepe::api; - diff --git a/src/crepe/api/Script.h b/src/crepe/api/Script.h index 4950b5c..59e6ec0 100644 --- a/src/crepe/api/Script.h +++ b/src/crepe/api/Script.h @@ -22,10 +22,10 @@ protected: // added event. protected: - template<typename T> + template <typename T> T & get_component(); - template<typename T> + template <typename T> std::vector<std::reference_wrapper<T>> get_components(); private: @@ -36,4 +36,3 @@ private: } // namespace crepe::api #include "Script.hpp" - diff --git a/src/crepe/api/Script.hpp b/src/crepe/api/Script.hpp index 8ddd344..8004fe3 100644 --- a/src/crepe/api/Script.hpp +++ b/src/crepe/api/Script.hpp @@ -2,25 +2,24 @@ #include "../ComponentManager.h" -#include "Script.h" #include "BehaviorScript.h" +#include "Script.h" namespace crepe::api { -template<typename T> +template <typename T> T & Script::get_component() { - std::vector<std::reference_wrapper<T>> all_components = this->get_components<T>(); - if (all_components.size() < 1) - throw nullptr; // TODO - + std::vector<std::reference_wrapper<T>> all_components + = this->get_components<T>(); + if (all_components.size() < 1) throw nullptr; // TODO + return all_components.back().get(); } -template<typename T> +template <typename T> std::vector<std::reference_wrapper<T>> Script::get_components() { ComponentManager & mgr = ComponentManager::get_instance(); return mgr.get_components_by_id<T>(this->parent->game_object_id); } -} - +} // namespace crepe::api |