refactoring

This commit is contained in:
Manuel Simon Hirsig
2016-07-16 12:09:15 +02:00
parent 55d7b78962
commit 3fcb107ff5
5 changed files with 89 additions and 101 deletions
+8 -2
View File
@@ -1,9 +1,15 @@
local m, public, private = Aux.module'control'
private.event_frame = CreateFrame('Frame')
private.event_listeners = {}
private.threads = {}
public.thread_id = nil
function public.LOAD()
m.event_frame:SetScript('OnUpdate', m.on_update)
m.event_frame:SetScript('OnEvent', m.on_event)
end
function public.on_event()
for listener, _ in m.event_listeners do
if event == listener.event and not listener.deleted then
@@ -47,14 +53,14 @@ function public.event_listener(event, action)
function self:start()
Aux.util.set_add(m.event_listeners, listener)
AuxControlFrame:RegisterEvent(event)
m.event_frame:RegisterEvent(event)
return self
end
function self:stop()
listener.deleted = true
if not Aux.util.any(Aux.util.set_to_array(m.event_listeners), function(l) return l.event == event end) then
AuxControlFrame:UnregisterEvent(event)
m.event_frame:UnregisterEvent(event)
end
return self
end