aboutsummaryrefslogtreecommitdiff
path: root/src/events.lua
diff options
context:
space:
mode:
Diffstat (limited to 'src/events.lua')
-rw-r--r--src/events.lua19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/events.lua b/src/events.lua
new file mode 100644
index 0000000..2171ade
--- /dev/null
+++ b/src/events.lua
@@ -0,0 +1,19 @@
+function new_event()
+ return {
+ systems = {},
+ compnames = {},
+ size = 0,
+ }
+end
+
+function event_bind(event, compname, system)
+ event.size = event.size + 1
+ event.systems[event.size] = system
+ event.compnames[event.size] = compname
+end
+
+function fire_event(event, ...)
+ for i=1, event.size do
+ run_system(event.compnames[i], event.systems[i], ...)
+ end
+end