From dfeabed19fd81dabeb88477c716ecd4c132484c0 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Sat, 6 Dec 2008 03:41:49 +0000 Subject: Add hostmanager, and eventmanager --- core/eventmanager.lua | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 core/eventmanager.lua (limited to 'core/eventmanager.lua') diff --git a/core/eventmanager.lua b/core/eventmanager.lua new file mode 100644 index 00000000..169be8e9 --- /dev/null +++ b/core/eventmanager.lua @@ -0,0 +1,25 @@ + +local t_insert = table.insert; +local ipairs = ipairs; + +module "eventmanager" + +local event_handlers = {}; + +function add_event_hook(name, handler) + if not event_handlers[name] then + event_handlers[name] = {}; + end + t_insert(event_handlers[name] , handler); +end + +function fire_event(name, ...) + local event_handlers = event_handlers[name]; + if event_handlers then + for name, handler in ipairs(event_handlers) do + handler(...); + end + end +end + +return _M; \ No newline at end of file -- cgit v1.2.3