#pragma once #include <memory> #include "../Component.h" namespace crepe { class ScriptSystem; class ComponentManager; } // namespace crepe namespace crepe::api { 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: friend class crepe::ScriptSystem; std::unique_ptr<Script> script = nullptr; }; } // namespace crepe::api #include "BehaviorScript.hpp"