From 9a4b4beb761cde7fcb28a1989f5006c4c61e5c8c Mon Sep 17 00:00:00 2001 From: Starbeamrainbowlabs Date: Sun, 25 Sep 2022 15:03:16 +0100 Subject: [PATCH] EventEmitter: add debug printing (disabled by default) --- worldeditadditions_core/utils/EventEmitter.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/worldeditadditions_core/utils/EventEmitter.lua b/worldeditadditions_core/utils/EventEmitter.lua index 72e3c65..4632606 100644 --- a/worldeditadditions_core/utils/EventEmitter.lua +++ b/worldeditadditions_core/utils/EventEmitter.lua @@ -1,4 +1,4 @@ - +local wea_c = worldeditadditions_core --- Event manager object. -- @class worldeditadditions_core.EventEmitter local EventEmitter = {} @@ -10,7 +10,8 @@ EventEmitter.__name = "EventEmitter" -- A hack to allow identification in wea.in -- @returns table The new EventEmitter object. If a table is passed in, a new table is NOT created. function EventEmitter.new(tbl) if not tbl then tbl = {} end - tbl.events = {} + tbl.events = { } + tbl.debug = false setmetatable(tbl, EventEmitter) return tbl end @@ -58,6 +59,8 @@ end -- @param args table|any The argument(s) to pass to listener functions. It is strongly advised you pass a table here. function EventEmitter.emit(this, event_name, args) if this.events[event_name] == nil then return end + if this.debug then print("DEBUG:EventEmitter emit", event_name, "args", wea_c.inspect(args)) end + for index,next_func in ipairs(this.events[event_name]) do next_func(args) end