From 3e94ecb3dac5003a3d58210ed1a4d1f1cb2083d1 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Tue, 12 Nov 2024 22:43:32 +0100 Subject: add script unit tests + major refactoring --- src/crepe/system/System.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/crepe/system/System.h') diff --git a/src/crepe/system/System.h b/src/crepe/system/System.h index 3b81bef..7970e72 100644 --- a/src/crepe/system/System.h +++ b/src/crepe/system/System.h @@ -2,13 +2,18 @@ namespace crepe { +class ComponentManager; + class System { public: virtual void update() = 0; public: - System() = default; + System(ComponentManager &); virtual ~System() = default; + +protected: + ComponentManager & component_manager; }; } // namespace crepe -- 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/crepe/system/System.h') 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