diff options
author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-13 15:40:01 +0100 |
---|---|---|
committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-13 15:40:01 +0100 |
commit | 7ec392eda3345606f0de75a432954b221cee82ce (patch) | |
tree | 48689f986a3c4042ec6b7704dad053f25ef898bf /src/crepe/api/Script.hpp | |
parent | 202725f481e64c4d95e370102ab93d4f8cf4af93 (diff) |
add doxygen + check const correctness
Diffstat (limited to 'src/crepe/api/Script.hpp')
-rw-r--r-- | src/crepe/api/Script.hpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/crepe/api/Script.hpp b/src/crepe/api/Script.hpp index d96c0e8..afe653f 100644 --- a/src/crepe/api/Script.hpp +++ b/src/crepe/api/Script.hpp @@ -1,6 +1,7 @@ #pragma once #include "../ComponentManager.h" +#include "../Exception.h" #include "BehaviorScript.h" #include "Script.h" @@ -8,16 +9,17 @@ namespace crepe { template <typename T> -T & Script::get_component() { +T & Script::get_component() const { std::vector<std::reference_wrapper<T>> all_components = this->get_components<T>(); - if (all_components.size() < 1) throw nullptr; // TODO + if (all_components.size() < 1) + throw Exception("Script: no component found with type = %s", typeid(T).name()); return all_components.back().get(); } template <typename T> -std::vector<std::reference_wrapper<T>> Script::get_components() { +std::vector<std::reference_wrapper<T>> Script::get_components() const { ComponentManager & mgr = ComponentManager::get_instance(); return mgr.get_components_by_id<T>(this->parent->game_object_id); } |