mirror of
https://github.com/FunKey-Project/RetroFE.git
synced 2026-04-02 10:16:50 +02:00
Adding lua scripts
This commit is contained in:
32
Package/Environment/Common/lua/Event.lua
Normal file
32
Package/Environment/Common/lua/Event.lua
Normal file
@@ -0,0 +1,32 @@
|
||||
local Event = {}
|
||||
Event.__index = Event
|
||||
|
||||
function Event.new()
|
||||
local instance = {
|
||||
events = {}
|
||||
}
|
||||
|
||||
setmetatable(instance, EventManager)
|
||||
|
||||
return instance
|
||||
end
|
||||
|
||||
function Event:register(event, cbself, callback)
|
||||
local listeners = self.events[event]
|
||||
if listeners ~= nil then
|
||||
listeners[#listeners + 1] = callback
|
||||
else
|
||||
self.events[event] = {{cb=callback, s=cbself}}
|
||||
end
|
||||
end
|
||||
|
||||
function Event:trigger(event, ...)
|
||||
local listeners = self.events[event]
|
||||
if listeners ~= nil then
|
||||
for i = 1, #listeners do
|
||||
listeners[i].cb(listeners[i].s, ...)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return Event
|
||||
Reference in New Issue
Block a user