diff options
| author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-04 08:28:18 +0100 | 
|---|---|---|
| committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-11-04 08:28:18 +0100 | 
| commit | 06f65659fc6ffde7cabd2135040cbfbf089e5a24 (patch) | |
| tree | e3570bea52b87b6919550ee81d17927ccbc11cc5 /src/crepe/api/BehaviorScript.h | |
| parent | 128969619a22dfc17a9ea35335c0d21c6ad0c954 (diff) | |
| parent | 6aa8fdd04728b6a499f526de727514ae3d0490b4 (diff) | |
merge `origin/master` into `master`
Diffstat (limited to 'src/crepe/api/BehaviorScript.h')
| -rw-r--r-- | src/crepe/api/BehaviorScript.h | 30 | 
1 files changed, 24 insertions, 6 deletions
| diff --git a/src/crepe/api/BehaviorScript.h b/src/crepe/api/BehaviorScript.h index e9542c1..6133cc8 100644 --- a/src/crepe/api/BehaviorScript.h +++ b/src/crepe/api/BehaviorScript.h @@ -1,17 +1,35 @@  #pragma once -#include "../Script.h" +#include <memory> +  #include "../Component.h" +namespace crepe { +class ScriptSystem; +class ComponentManager; +} // namespace crepe +  namespace crepe::api { -class BehaviorScript : public Script, public Component { -	// only allow ComponentManager to instantiate scripts -	friend class ComponentManager; +class Script; + +class BehaviorScript : public Component { +protected: +	friend class crepe::ComponentManager; +	using Component::Component; + +public: +	virtual ~BehaviorScript() = default; + +public: +	template <class T> +	BehaviorScript & set_script();  protected: -	BehaviorScript(); +	friend class crepe::ScriptSystem; +	std::unique_ptr<Script> script = nullptr;  }; -} +} // namespace crepe::api +#include "BehaviorScript.hpp" |