ListenerObject Class Reference

#include <ListenerObject.h>

Inheritance diagram for ListenerObject:
Object AnimationController AnimationCoordinator Camera CameraEffectManager CameraMovementManager CharSet Clock CommunicationManager Component ComponentManager Entity FrameBufferManager FrameRate KeypadManager OptionsSelector Profiler RumbleManager Sound SoundManager State StateMachine Stopwatch Texture Tool VIPManager VUEngine

# 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

- Private Member Functions inherited from Object
void constructor ()
 Class' constructor.
const void * getVTable ()
bool mutateTo (const void *targetClass)
- Static Private Member Functions inherited from Object
static Object getCast (void *object, ClassPointer targetClassGetClassMethod, ClassPointer baseClassGetClassMethod)
- Private Attributes inherited from Object
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
listenerListenerObject that listen for the event
eventCodeEvent'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
messageThe 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
eventCodeCode of the event to fire

Definition at line 261 of file ListenerObject.c.

# handleMessage()

bool ListenerObject::handleMessage ( Telegram telegram)
virtual

Receive and process a Telegram.

Parameters
telegramReceived 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()

bool ListenerObject::onEvent ( ListenerObject eventFirer,
uint16 eventCode )
virtual

Process an event that the instance is listen for.

Parameters
eventFirerListenerObject that signals the event
eventCodeCode 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
listenerListenerObject to remove from the list of listeners
eventCodeEvent'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
eventCodeEvent'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
receiverListenerObject that is the target of the message
messageThe message's code
delayMilliseconds to wait before sending the message
randomDelayRange of a random delay in milliseconds to wait before sending the message

Definition at line 333 of file ListenerObject.c.

# sendMessageToSelf()

void ListenerObject::sendMessageToSelf ( uint32 message,
uint32 delay,
uint32 randomDelay )

Send a message to itself.

Parameters
messageThe message's code
delayMilliseconds to wait before sending the message
randomDelayRange of a random delay in milliseconds to wait before sending the message

Definition at line 347 of file ListenerObject.c.

# Member Data Documentation

# eventFirings

int8 ListenerObject::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

VirtualList ListenerObject::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: