diff options
Diffstat (limited to 'src/port/hooks/impl/EventSystem.h')
| -rw-r--r-- | src/port/hooks/impl/EventSystem.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/port/hooks/impl/EventSystem.h b/src/port/hooks/impl/EventSystem.h index 8bf65732..bd6a2569 100644 --- a/src/port/hooks/impl/EventSystem.h +++ b/src/port/hooks/impl/EventSystem.h @@ -49,6 +49,16 @@ typedef struct { EventSystem_CallEvent(eventType##ID, &eventType##_); \ if (!eventType##_.event.cancelled) +#define CHECK_IF_NOT_CANCELLED(eventType) \ + if (!eventType##_.event.cancelled) + +#define CALL_CANCELLABLE_RETURN_EVENT(eventType, ...) \ + eventType eventType##_ = { {false}, __VA_ARGS__ }; \ + EventSystem_CallEvent(eventType##ID, &eventType##_); \ + if (eventType##_.event.cancelled) { \ + return; \ + } + #define REGISTER_EVENT(eventType) \ eventType##ID = EventSystem_RegisterEvent(); |
