3#ifndef TRAM_SDK_FRAMEWORK_EVENT_H
4#define TRAM_SDK_FRAMEWORK_EVENT_H
76 explicit operator bool() {
return listener != 0; }
Component base class.
Definition: entitycomponent.h:16
Entity base class.
Definition: entity.h:23
Smart wrapper class for Event listeners.
Definition: event.h:69
~EventListener()
Definition: event.cpp:387
listener_t listener
Definition: event.h:78
void make(event_t event, Entity *parent)
Essentially same as Event::AddListener().
Definition: event.cpp:392
void clear()
Essentially same as Event::RemoveListener().
Definition: event.cpp:410
Generic, type-safe union.
Definition: value.h:18
uint16_t event_t
Definition: event.h:14
uint32_t id_t
Definition: core.h:10
Value value_t
Definition: event.h:21
uint32_t listener_t
Definition: event.h:16
Event data.
Definition: event.h:24
static void RemoveListener(listener_t listener_id)
Deregisters a listener.
Definition: event.cpp:268
static T * AllocateData()
Definition: event.h:55
static event_t GetLast()
Returns the last event_t plus one.
Definition: event.cpp:186
static void Dispatch()
Dispatches events from the event queue.
Definition: event.cpp:313
event_t type
Type of the event.
Definition: event.h:58
static void Post(const Event &event)
Adds an event to the event queue.
Definition: event.cpp:366
Type
Definition: event.h:25
@ TICK
Definition: event.h:33
@ KEYCHAR
Definition: event.h:30
@ KEYUP
Definition: event.h:29
@ LAST_EVENT
Definition: event.h:36
@ CURSORPOS
Definition: event.h:31
@ FRAME
Definition: event.h:32
@ SELECTED
Definition: event.h:34
@ KEYDOWN
Definition: event.h:28
@ NONE
Definition: event.h:26
@ LOOK_AT
Definition: event.h:35
@ KEYPRESS
Definition: event.h:27
int32_t data_int
Arbitrary data integer.
Definition: event.h:64
static event_t Register(const char *name)
Registers a new event type.
Definition: event.cpp:131
void * data
Pointer to arbitrary data.
Definition: event.h:63
id_t poster
Definition: event.h:60
event_t subtype
Arbitrary event subtype.
Definition: event.h:59
value_t * data_value
Pointer to a value_t.
Definition: event.h:65
static T * AllocateData(const T &data)
Definition: event.h:56
static name_t GetName(event_t type)
Returns the name that was associated with a given event_t.
Definition: event.cpp:175
static listener_t AddListener(event_t type, EntityComponent *component)
Registers a listener.
Definition: event.cpp:203
static event_t GetType(name_t name)
Returns the event_t associated with a given name.
Definition: event.cpp:159
Interned string type.
Definition: uid.h:10