When an event is posted to Wwise, each of its actions are processed in the order in which they are listed. Whenever an action has a
delay greater than 0, it is stored in a list and executed later.
This has consequences on the behavior of the event. Consider the following examples.
Event 1
1) Play
, delay = 0
2) Stop , delay = 0
3) Play , delay = 0
Result
One instance of will play (3).
Explanation
When the event is processed:
1) Action (1) schedules to be played now.
2) Action (2) immediately stops that was scheduled by action (1) (recall that Stop actions stop sounds that are playing and those that are scheduled to be played altogether).
3) Action (3) schedules to be played now.
Event 2
1) Play , delay = 0
2) Stop , delay = 1 s
3) Play , delay = 2 s
Result
One instance of will play for 1 second (1), and will stop (2). Action (3) will never be executed.
Explanation
When the event is processed:
1) Action (1) schedules to be played now.
2) Action (2) is enqueued in the "pending" list.
3) Action (3) is enqueued in the "pending" list.
One second later: Action (2) is executed: is stopped, and action (3) is cancelled and removed from the pending list.