Hi,
Can you show some fsm with your setup?
Maybe you can set some of the transitions to local so that they can't get triggered twice?
What do you mean?
Also, the problem exists because I have a major FSM regulating reward, victory and defeat conditions that are sending global events on broadcast to a large quantity of objects with different purposes.
It is logical to have the objects manage how they react to these global events by deciding locally if they'll "listen" or even "react" to a received event.
Thus far I haven't found any other solution than using a monitoring FSM that acts as a gatekeeper on each game object that could be receiving the global events multiple times but actually must not do anything beyond the first reception.
That's related to the way Playmaker's FSM handle events, more precisely global transitions, whether the event itself is global (sent by another FSM) or sent internally within a FSM: regardless of what a FSM was doing, the flow is rerouted to the state where the event is meant to be received.
I haven't found a way to control that, to switch the "listeners" off, whether to be totally deaf or to only ignore events that belong to a list—typically the action would allow the user to add any given amount of FsmStrings, each string being the name of the event to ignore.
My effective solution consists of having a FSM-0, acting as a filter, that receives events and uses bools to decide whether to activate FSM-1, FSM-2, etc.. Those other FSMs actually hold the real functions fir the object(s).
The activated (monitored) FSMs are either meant to be active once or remain active as long as the game object is active.
This works, but it would be straighter and faster to initialize FSMs by putting them in a given mode where I decided how they'll react to events. This initialization would simply be done through a primary state with START and actions that define the kind of behavior to follow for incoming events, whether external or internal.