even clear
This commit is contained in:
parent
99a854d5d1
commit
da211d5e46
1 changed files with 14 additions and 0 deletions
|
|
@ -35,6 +35,7 @@ namespace Crafter {
|
|||
EventListener(EventListener&) = delete;
|
||||
EventListener& operator=(EventListener&) = delete;
|
||||
void SetEvent(Event<T>* eventToListenTo, std::function<void(T)> function, int priority = 0);
|
||||
void Clear();
|
||||
EventListener(Event<T>* eventToListenTo, std::function<void(T)> function, int priority = 0);
|
||||
~EventListener();
|
||||
Event<T>* eventToListenTo;
|
||||
|
|
@ -49,6 +50,7 @@ namespace Crafter {
|
|||
EventListener(EventListener&) = delete;
|
||||
EventListener& operator=(EventListener&) = delete;
|
||||
void SetEvent(Event<void>* eventToListenTo, std::function<void()> function, int priority = 0);
|
||||
void Clear();
|
||||
EventListener(Event<void>* eventToListenTo, std::function<void()> function, int priority = 0);
|
||||
~EventListener();
|
||||
Event<void>* eventToListenTo;
|
||||
|
|
@ -263,6 +265,12 @@ namespace Crafter {
|
|||
}
|
||||
}
|
||||
|
||||
template<typename T> void EventListener<T>::Clear() {
|
||||
if (eventToListenTo != nullptr) {
|
||||
eventToListenTo->RemoveListener(this);
|
||||
}
|
||||
}
|
||||
|
||||
template<typename T> EventListener<T>::EventListener() {
|
||||
eventToListenTo = nullptr;
|
||||
}
|
||||
|
|
@ -289,6 +297,12 @@ namespace Crafter {
|
|||
}
|
||||
}
|
||||
|
||||
void EventListener<void>::Clear() {
|
||||
if (eventToListenTo != nullptr) {
|
||||
eventToListenTo->RemoveListener(this);
|
||||
}
|
||||
}
|
||||
|
||||
EventListener<void>::EventListener() {
|
||||
eventToListenTo = nullptr;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue