ListenerObject Class Reference
#include <ListenerObject.h>
![](../class_listener_object.png)
# Public Member Functions | |
void | constructor () |
Class' constructor. | |
void | destructor () |
Class' destructor. | |
void | addEventListener (ListenerObject listener, uint16 eventCode) |
void | removeEventListener (ListenerObject listener, uint16 eventCode) |
void | removeEventListeners (uint16 eventCode) |
void | removeAllEventListeners () |
Remove all listener objects. | |
bool | hasActiveEventListeners () |
void | fireEvent (uint16 eventCode) |
void | sendMessageTo (ListenerObject receiver, uint32 message, uint32 delay, uint32 randomDelay) |
void | sendMessageToSelf (uint32 message, uint32 delay, uint32 randomDelay) |
void | discardAllMessages () |
Discard all messages, both to be sent and to be received. | |
void | discardMessages (uint32 message) |
virtual bool | onEvent (ListenerObject eventFirer, uint16 eventCode) |
virtual bool | handleMessage (Telegram telegram) |
# Protected Attributes | |
VirtualList | events |
List of registered events. | |
int8 | eventFirings |
Counter that keeps track of the number of fired events to prevent race conditions in nested firings. |
# Additional Inherited Members | |
![]() | |
void | constructor () |
Class' constructor. | |
const void * | getVTable () |
bool | mutateTo (const void *targetClass) |
![]() | |
static Object | getCast (void *object, ClassPointer targetClassGetClassMethod, ClassPointer baseClassGetClassMethod) |
![]() | |
void * | vTable |
Pointer to the class's virtual table. |
# Detailed Description
Class ListenerObject
Inherits from Object
Interacts by means of events and messages.
Definition at line 55 of file ListenerObject.h.
# Member Function Documentation
# addEventListener()
void ListenerObject::addEventListener | ( | ListenerObject | listener, |
uint16 | eventCode ) |
Register an object that will listen for events.
- Parameters
-
listener ListenerObject that listen for the event eventCode Event's code to listen for
Definition at line 69 of file ListenerObject.c.
# constructor()
void ListenerObject::constructor | ( | ) |
Class' constructor.
Definition at line 37 of file ListenerObject.c.
# destructor()
void ListenerObject::destructor | ( | ) |
Class' destructor.
Definition at line 50 of file ListenerObject.c.
# discardAllMessages()
void ListenerObject::discardAllMessages | ( | ) |
Discard all messages, both to be sent and to be received.
Definition at line 354 of file ListenerObject.c.
# discardMessages()
void ListenerObject::discardMessages | ( | uint32 | message | ) |
Discard all messages with a specific code, both to be sent and to be received.
- Parameters
-
message The message's code to discard
Definition at line 362 of file ListenerObject.c.
# fireEvent()
void ListenerObject::fireEvent | ( | uint16 | eventCode | ) |
Fire an event with the provided code
- Parameters
-
eventCode Code of the event to fire
Definition at line 261 of file ListenerObject.c.
# handleMessage()
Receive and process a Telegram.
- Parameters
-
telegram Received telegram to process
- Returns
- True if the telegram was processed
Reimplemented in CameraEffectManager, Collider, CommunicationManager, Entity, GameState, StateMachine, and VUEngine.
Definition at line 377 of file ListenerObject.c.
# hasActiveEventListeners()
bool ListenerObject::hasActiveEventListeners | ( | ) |
Check if the object has active event listeners.
- Returns
- True if the object's list of event listeners is not empty
Definition at line 254 of file ListenerObject.c.
# onEvent()
|
virtual |
Process an event that the instance is listen for.
- Parameters
-
eventFirer ListenerObject that signals the event eventCode Code of the firing event
- Returns
- False if the listener has to be removed; true to keep it
Reimplemented in Actor, BgmapSprite, CameraMovementManager, Collider, FrameBufferManager, Printer, RumbleManager, SoundTest, SpriteManager, Texture, VUEngine, and WireframeManager.
Definition at line 370 of file ListenerObject.c.
# removeAllEventListeners()
void ListenerObject::removeAllEventListeners | ( | ) |
Remove all listener objects.
Definition at line 225 of file ListenerObject.c.
# removeEventListener()
void ListenerObject::removeEventListener | ( | ListenerObject | listener, |
uint16 | eventCode ) |
Remove a specific listener object from the listening to a give code.
- Parameters
-
listener ListenerObject to remove from the list of listeners eventCode Event's code to stop listen for
Definition at line 126 of file ListenerObject.c.
# removeEventListeners()
void ListenerObject::removeEventListeners | ( | uint16 | eventCode | ) |
Remove all listener objects for a specific code from the listeners.
- Parameters
-
eventCode Event's code to stop listen for
Definition at line 176 of file ListenerObject.c.
# sendMessageTo()
void ListenerObject::sendMessageTo | ( | ListenerObject | receiver, |
uint32 | message, | ||
uint32 | delay, | ||
uint32 | randomDelay ) |
Send a message to another object.
- Parameters
-
receiver ListenerObject that is the target of the message message The message's code delay Milliseconds to wait before sending the message randomDelay Range of a random delay in milliseconds to wait before sending the message
Definition at line 333 of file ListenerObject.c.
# sendMessageToSelf()
Send a message to itself.
- Parameters
-
message The message's code delay Milliseconds to wait before sending the message randomDelay Range of a random delay in milliseconds to wait before sending the message
Definition at line 347 of file ListenerObject.c.
# Member Data Documentation
# eventFirings
|
protected |
Counter that keeps track of the number of fired events to prevent race conditions in nested firings.
Definition at line 63 of file ListenerObject.h.
# events
|
protected |
List of registered events.
Definition at line 60 of file ListenerObject.h.
The documentation for this class was generated from the following files:
- VUEngine-Core/source/Misc/Messaging/ListenerObject.h
- VUEngine-Core/source/Misc/Messaging/ListenerObject.c