vanilla-wow-addons – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | |
2 | -- Class creation |
||
3 | AceEvent = AceCore:new({registry={},frame=AceEventFrame}) |
||
4 | |||
5 | -- This method is for generating custom events. They have to processed separately or |
||
6 | -- the event variables may clash with those of the real events. |
||
7 | function AceEvent:TriggerEvent(event, ...) |
||
8 | if( self.registry[event] ) then |
||
9 | for obj, method in self.registry[event] do |
||
10 | if( obj[method] ) then obj[method](obj, unpack(arg)) end |
||
11 | end |
||
12 | end |
||
13 | end |
||
14 | |||
15 | function AceEvent:EventHandler() |
||
16 | if( event and self.registry[event] ) then |
||
17 | for obj, method in self.registry[event] do |
||
18 | if( obj[method] ) then obj[method](obj) end |
||
19 | end |
||
20 | end |
||
21 | end |
||
22 | |||
23 | function AceEvent:RegisterEvent(obj, event, method) |
||
24 | if( not self.registry[event] ) then |
||
25 | self.registry[event] = {} |
||
26 | self.frame:RegisterEvent(event) |
||
27 | end |
||
28 | |||
29 | self.registry[event][obj] = (method or event) |
||
30 | end |
||
31 | |||
32 | function AceEvent:UnregisterEvent(obj, event) |
||
33 | if( self.registry[event] and self.registry[event][obj] ) then |
||
34 | self.registry[event][obj] = nil |
||
35 | end |
||
36 | end |
||
37 | |||
38 | function AceEvent:UnregisterAllEvents(obj) |
||
39 | for event in self.registry do |
||
40 | self:UnregisterEvent(obj, event) |
||
41 | end |
||
42 | end |
||
43 | |||
44 | ace.event = AceEvent |