aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api/Script.cpp
diff options
context:
space:
mode:
authorLoek Le Blansch <loek@pipeframe.xyz>2024-11-22 15:10:49 +0100
committerLoek Le Blansch <loek@pipeframe.xyz>2024-11-22 15:10:49 +0100
commitd038f192c7dcb453c9fc19082cd1b642c8f70fc8 (patch)
treebcb539657cd8b35ed742f19e5673c777ab39610c /src/crepe/api/Script.cpp
parentc3c3476f1d82aa83d8f8dc706488475dc2cf1e55 (diff)
parent4117d1d287f1d87efd0577d56819520e981a7f1c (diff)
merge with `master`
Diffstat (limited to 'src/crepe/api/Script.cpp')
-rw-r--r--src/crepe/api/Script.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/crepe/api/Script.cpp b/src/crepe/api/Script.cpp
new file mode 100644
index 0000000..fcbe4c7
--- /dev/null
+++ b/src/crepe/api/Script.cpp
@@ -0,0 +1,15 @@
+#include "Script.h"
+
+using namespace crepe;
+
+Script::~Script() {
+ EventManager & evmgr = this->event_manager;
+ for (auto id : this->listeners) {
+ evmgr.unsubscribe(id);
+ }
+}
+
+template <>
+void Script::subscribe(const EventHandler<CollisionEvent> & callback) {
+ this->subscribe_internal(callback, this->game_object_id);
+}