19#ifndef FENNEC_CORE_EVENT_H
20#define FENNEC_CORE_EVENT_H
25#include <fennec/rtti/typeid.h>
43 virtual ~event() =
default;
49 template<
typename EventT>
54 template<
typename EventT>
55 static void dispatch(EventT*
event) {
59 static void add_listener(event_listener* listener, uint64_t type);
60 static void remove_listener(event_listener* listener);
61 static void dispatch(event* event);
63 FENNEC_RTTI_CLASS_ENABLE() {
Class outlining the interface for an object that listens for events.
Definition event.h:34
Main event interface, includes static methods for registering listeners and dispatching events.
Definition event.h:42
static void add_listener(event_listener *listener)
Registers a listener for the event type.
Definition event.h:50