From 9619f340827b00d4836406ded073a73b6df9386f Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Thu, 21 Nov 2024 09:10:40 +0100 Subject: do not call event handlers when behaviorscript is not active + add doxygen --- src/crepe/api/BehaviorScript.hpp | 5 +++- src/crepe/api/Event.h | 6 +++- src/crepe/api/EventManager.h | 4 +-- src/crepe/api/Script.cpp | 4 ++- src/crepe/api/Script.h | 47 +++++++++++++++++++++++++++---- src/crepe/api/Script.hpp | 8 ++++-- src/doc/layout.xml | 2 +- src/test/ScriptTest.cpp | 60 ++++++++++++++++++++++++++++++++++++++-- 8 files changed, 120 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/crepe/api/BehaviorScript.hpp b/src/crepe/api/BehaviorScript.hpp index dd197b3..5b5a418 100644 --- a/src/crepe/api/BehaviorScript.hpp +++ b/src/crepe/api/BehaviorScript.hpp @@ -14,9 +14,12 @@ BehaviorScript & BehaviorScript::set_script(Args &&... args) { dbg_trace(); static_assert(std::is_base_of::value); Script * s = new T(std::forward(args)...); - s->game_object_id = this->game_object_id; + + s->game_object_id_ref = &this->game_object_id; + s->active_ref = &this->active; s->component_manager_ref = &this->component_manager; s->event_manager_ref = &EventManager::get_instance(); + this->script = std::unique_ptr