From fac06d488e635583307cd4a916a611500fb64c16 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Wed, 13 Nov 2024 13:10:25 +0100 Subject: cleanup + fix examples --- src/example/components_internal.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'src/example/components_internal.cpp') diff --git a/src/example/components_internal.cpp b/src/example/components_internal.cpp index ea1eaad..dd4c7df 100644 --- a/src/example/components_internal.cpp +++ b/src/example/components_internal.cpp @@ -23,17 +23,16 @@ using namespace std; int main() { dbg_trace(); - auto & mgr = ComponentManager::get_instance(); + ComponentManager mgr{}; auto start_adding = chrono::high_resolution_clock::now(); GameObject * game_object[OBJ_COUNT]; for (int i = 0; i < OBJ_COUNT; ++i) { - game_object[i] = new GameObject(i, "Name", "Tag", 0); - - game_object[i]->add_component("test"); - game_object[i]->add_component(0, 0, i); + GameObject & obj = mgr.new_object("Name", "Tag"); + obj.add_component("test"); + obj.add_component(0, 0, i); } auto stop_adding = chrono::high_resolution_clock::now(); @@ -45,10 +44,6 @@ int main() { auto stop_looping = chrono::high_resolution_clock::now(); - for (int i = 0; i < OBJ_COUNT; ++i) { - delete game_object[i]; - } - auto add_time = chrono::duration_cast(stop_adding - start_adding); auto loop_time = chrono::duration_cast(stop_looping -- cgit v1.2.3 From 7ec392eda3345606f0de75a432954b221cee82ce Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Wed, 13 Nov 2024 15:40:01 +0100 Subject: add doxygen + check const correctness --- src/crepe/api/BehaviorScript.h | 8 ++++++++ src/crepe/api/Config.h | 3 +-- src/crepe/api/Script.h | 40 +++++++++++++++++++++++++++++++++++-- src/crepe/api/Script.hpp | 8 +++++--- src/crepe/api/Texture.cpp | 2 +- src/crepe/facade/Sound.cpp | 9 +++++---- src/crepe/facade/Sound.h | 6 ++++++ src/crepe/facade/SoundContext.h | 11 +++++++--- src/crepe/system/PhysicsSystem.h | 1 + src/crepe/system/ScriptSystem.h | 19 ++++++++++++++++++ src/crepe/system/System.h | 10 ++++++++++ src/example/audio_internal.cpp | 4 ++-- src/example/components_internal.cpp | 2 +- src/example/db.cpp | 8 ++++---- src/example/proxy.cpp | 9 ++++----- src/example/rendering.cpp | 2 +- src/example/savemgr.cpp | 16 +++++++-------- src/example/script.cpp | 6 +++--- 18 files changed, 125 insertions(+), 39 deletions(-) (limited to 'src/example/components_internal.cpp') diff --git a/src/crepe/api/BehaviorScript.h b/src/crepe/api/BehaviorScript.h index c20842d..4160a72 100644 --- a/src/crepe/api/BehaviorScript.h +++ b/src/crepe/api/BehaviorScript.h @@ -10,6 +10,13 @@ class ScriptSystem; class ComponentManager; class Script; +/** + * \brief Script component + * + * This class acts as a (component) wrapper around an instance of (a class + * derivatived from) \c Script. \c BehaviorScript is the only ECS component + * that stores member function implementations as data. + */ class BehaviorScript : public Component { protected: friend class crepe::ComponentManager; @@ -24,6 +31,7 @@ public: protected: friend class crepe::ScriptSystem; + //! Script instance std::unique_ptr