aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api/BehaviorScript.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/crepe/api/BehaviorScript.hpp')
-rw-r--r--src/crepe/api/BehaviorScript.hpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/crepe/api/BehaviorScript.hpp b/src/crepe/api/BehaviorScript.hpp
new file mode 100644
index 0000000..2a3502f
--- /dev/null
+++ b/src/crepe/api/BehaviorScript.hpp
@@ -0,0 +1,22 @@
+#pragma once
+
+#include <type_traits>
+
+#include "../util/log.h"
+
+#include "BehaviorScript.h"
+#include "Script.h"
+
+namespace crepe::api {
+
+template <class T>
+BehaviorScript & BehaviorScript::set_script() {
+ static_assert(std::is_base_of<Script, T>::value);
+ dbg_trace();
+ Script * s = new T();
+ s->parent = this;
+ this->script = std::unique_ptr<Script>(s);
+ return *this;
+}
+
+} // namespace crepe::api