diff -r b2464849c1b0 -r 5216efe6088b core/eventmanager.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/eventmanager.lua Sat Dec 06 03:41:49 2008 +0000 @@ -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