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(EventListener&) = delete;
|
||||||
EventListener& operator=(EventListener&) = delete;
|
EventListener& operator=(EventListener&) = delete;
|
||||||
void SetEvent(Event<T>* eventToListenTo, std::function<void(T)> function, int priority = 0);
|
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, std::function<void(T)> function, int priority = 0);
|
||||||
~EventListener();
|
~EventListener();
|
||||||
Event<T>* eventToListenTo;
|
Event<T>* eventToListenTo;
|
||||||
|
|
@ -49,6 +50,7 @@ namespace Crafter {
|
||||||
EventListener(EventListener&) = delete;
|
EventListener(EventListener&) = delete;
|
||||||
EventListener& operator=(EventListener&) = delete;
|
EventListener& operator=(EventListener&) = delete;
|
||||||
void SetEvent(Event<void>* eventToListenTo, std::function<void()> function, int priority = 0);
|
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, std::function<void()> function, int priority = 0);
|
||||||
~EventListener();
|
~EventListener();
|
||||||
Event<void>* eventToListenTo;
|
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() {
|
template<typename T> EventListener<T>::EventListener() {
|
||||||
eventToListenTo = nullptr;
|
eventToListenTo = nullptr;
|
||||||
}
|
}
|
||||||
|
|
@ -289,6 +297,12 @@ namespace Crafter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EventListener<void>::Clear() {
|
||||||
|
if (eventToListenTo != nullptr) {
|
||||||
|
eventToListenTo->RemoveListener(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
EventListener<void>::EventListener() {
|
EventListener<void>::EventListener() {
|
||||||
eventToListenTo = nullptr;
|
eventToListenTo = nullptr;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue