We never ended up using this in Mars Game, but it seems like it could be useful to someone at some point.
Basically, you can implement the eventManager component and flag your node isListening and isBroadcasting and then set the eventMap to use it.
Events from nodes that are flagged isBroadcasting cause the driver to look for any nodes flagged isListening that have the event name in question in their eventMap (an object with eventName : methodName pairs). If the event is found, then the associated method name is called on the listening node.
This allows a node to listen for a specific event, regardless of it's source, without having to define a listener for each node.
I would have built in more control options, but as I said, we didn't end up using it.
We never ended up using this in Mars Game, but it seems like it could be useful to someone at some point.
Basically, you can implement the
eventManager
component and flag your nodeisListening
andisBroadcasting
and then set theeventMap
to use it.Events from nodes that are flagged
isBroadcasting
cause the driver to look for any nodes flaggedisListening
that have the event name in question in theireventMap
(an object with eventName : methodName pairs). If the event is found, then the associated method name is called on the listening node.This allows a node to listen for a specific event, regardless of it's source, without having to define a listener for each node.
I would have built in more control options, but as I said, we didn't end up using it.