aboutsummaryrefslogtreecommitdiff
path: root/src/example/script.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/example/script.cpp')
-rw-r--r--src/example/script.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/example/script.cpp b/src/example/script.cpp
new file mode 100644
index 0000000..6e5563c
--- /dev/null
+++ b/src/example/script.cpp
@@ -0,0 +1,32 @@
+/** \file
+ *
+ * Standalone example for usage of the script component and system
+ */
+
+#include <crepe/ComponentManager.h>
+#include <crepe/ScriptSystem.h>
+#include <crepe/util/log.h>
+
+#include <crepe/api/BehaviorScript.h>
+#include <crepe/api/GameObject.h>
+#include <crepe/api/Script.h>
+
+using namespace crepe;
+using namespace crepe::api;
+using namespace std;
+
+class MyScript : public Script {
+ void update() { dbg_log("MY SCRIPT UPDATE"); }
+};
+
+int main() {
+ dbg_trace();
+
+ auto obj = GameObject(0, "name", "tag", 0);
+ obj.add_component<BehaviorScript>().set_script<MyScript>();
+
+ auto & sys = ScriptSystem::get_instance();
+ sys.update(); // -> MyScript::update
+
+ return 0;
+}