Playground by Górka Mateusz
Goo.Tools.EventSystem.EventManager Class Reference
+ Inheritance diagram for Goo.Tools.EventSystem.EventManager:
+ Collaboration diagram for Goo.Tools.EventSystem.EventManager:

Package Functions

void Subscribe< T > (IEventListener< T > listener)
 
void Unsubscribe< T > (IEventListener< T > listener)
 
bool IsSubscriber< T > (IEventListener< T > listener)
 
void Trigger< T > (T e)
 
void NullSingleton ()
 

Private Attributes

Dictionary< Type, List< IEventListener > > subscribers = new Dictionary<Type, List<IEventListener>>()
 

Additional Inherited Members

- Static Protected Member Functions inherited from Goo.Tools.Patterns.Singleton< EventManager >
static void __NullSingleton ()
 
- Properties inherited from Goo.Tools.Patterns.Singleton< EventManager >
static T Instance [get]
 
static bool Initialized [get]
 

Member Function Documentation

◆ Subscribe< T >()

void Goo.Tools.EventSystem.EventManager.Subscribe< T > ( IEventListener< T >  listener)
inlinepackage
12 {
13 Type eventType = typeof(T);
14 List<IEventListener> list;
15
16 if (!subscribers.TryGetValue(eventType, out list))
17 {
18 list = new List<IEventListener>();
19 subscribers[eventType] = list;
20 }
21
22 if (!list.Contains(listener))
23 list.Add(listener);
24 }
Dictionary< Type, List< IEventListener > > subscribers
Definition: EventManager.cs:9

◆ Unsubscribe< T >()

void Goo.Tools.EventSystem.EventManager.Unsubscribe< T > ( IEventListener< T >  listener)
inlinepackage
27 {
28 if (subscribers.TryGetValue(typeof(T), out var list))
29 list?.Remove(listener);
30 }

◆ IsSubscriber< T >()

bool Goo.Tools.EventSystem.EventManager.IsSubscriber< T > ( IEventListener< T >  listener)
inlinepackage
33 {
34 if (subscribers.TryGetValue(typeof(T), out var list))
35 return list.Contains(listener);
36 return false;
37 }

◆ Trigger< T >()

void Goo.Tools.EventSystem.EventManager.Trigger< T > ( e)
inlinepackage
40 {
41 if (subscribers.TryGetValue(typeof(T), out var list))
42 {
43 foreach (var listener in list)
44 {
45 (listener as IEventListener<T>).OnEvent(e);
46 }
47 }
48 }

◆ NullSingleton()

void Goo.Tools.EventSystem.EventManager.NullSingleton ( )
inlinepackage
51 {
53 }
static void __NullSingleton()
Definition: Singleton.cs:19

Member Data Documentation

◆ subscribers

Dictionary<Type, List<IEventListener> > Goo.Tools.EventSystem.EventManager.subscribers = new Dictionary<Type, List<IEventListener>>()
private

The documentation for this class was generated from the following file: