From da211d5e46f3752eadd55744d471432662f058cf Mon Sep 17 00:00:00 2001 From: Jorijn van der Graaf Date: Fri, 13 Mar 2026 01:16:24 +0100 Subject: [PATCH] even clear --- interfaces/Crafter.Event.cppm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/interfaces/Crafter.Event.cppm b/interfaces/Crafter.Event.cppm index d1997fc..60123e6 100644 --- a/interfaces/Crafter.Event.cppm +++ b/interfaces/Crafter.Event.cppm @@ -35,6 +35,7 @@ namespace Crafter { EventListener(EventListener&) = delete; EventListener& operator=(EventListener&) = delete; void SetEvent(Event* eventToListenTo, std::function function, int priority = 0); + void Clear(); EventListener(Event* eventToListenTo, std::function function, int priority = 0); ~EventListener(); Event* eventToListenTo; @@ -49,6 +50,7 @@ namespace Crafter { EventListener(EventListener&) = delete; EventListener& operator=(EventListener&) = delete; void SetEvent(Event* eventToListenTo, std::function function, int priority = 0); + void Clear(); EventListener(Event* eventToListenTo, std::function function, int priority = 0); ~EventListener(); Event* eventToListenTo; @@ -263,6 +265,12 @@ namespace Crafter { } } + template void EventListener::Clear() { + if (eventToListenTo != nullptr) { + eventToListenTo->RemoveListener(this); + } + } + template EventListener::EventListener() { eventToListenTo = nullptr; } @@ -289,6 +297,12 @@ namespace Crafter { } } + void EventListener::Clear() { + if (eventToListenTo != nullptr) { + eventToListenTo->RemoveListener(this); + } + } + EventListener::EventListener() { eventToListenTo = nullptr; }