|
stmm-games-doc
0.32.0
|
Delayed queue event. More...

Classes | |
| struct | Init |
| struct | LocalInit |
Public Types | |
| enum | { MESSAGE_QUEUE_VALUE = 100, MESSAGE_SET_INTERVAL_TICKS = 101, MESSAGE_SET_INTERVAL_MILLISECS = 102, MESSAGE_SET_INITIAL_INTERVAL = 103, MESSAGE_EMPTY_QUEUE = 104 } |
| enum | { LISTENER_GROUP_VALUE = 10, LISTENER_GROUP_OVERFLOW = 20 } |
Public Types inherited from stmg::Event | |
| enum | MSG_FILTER_VALUE_OP { MSG_FILTER_VALUE_OP_FIRST = 0, MSG_FILTER_VALUE_OP_UNCHANGED = 0, MSG_FILTER_VALUE_OP_SET = 1, MSG_FILTER_VALUE_OP_MULT_ADD = 2, MSG_FILTER_VALUE_OP_DIV_ADD = 3, MSG_FILTER_VALUE_OP_PERCENT_ADD = 4, MSG_FILTER_VALUE_OP_PERMILL_ADD = 5, MSG_FILTER_VALUE_OP_MOD_ADD = 6, MSG_FILTER_VALUE_OP_MIN_ADD = 7, MSG_FILTER_VALUE_OP_MAX_ADD = 8, MSG_FILTER_VALUE_OP_LAST = 8 } |
| Value filter. More... | |
| enum | { LISTENER_GROUP_FINISHED = 0 } |
Public Member Functions | |
| DelayedQueueEvent (Init &&oInit) noexcept | |
| Constructor. More... | |
| void | trigger (int32_t nMsg, int32_t nValue, Event *p0TriggeringEvent) noexcept override |
| The trigger function. More... | |
Public Member Functions inherited from stmg::Event | |
| virtual | ~Event () noexcept=default |
| virtual void | addMsgFilter (int32_t nInFromMsg, int32_t nInToMsg, int32_t nInFromValue, int32_t nInToValue, bool bOutMsgDefined, int32_t nOutMsg, MSG_FILTER_VALUE_OP eOutValueOperator, int32_t nOutValueOperand, int32_t nOutValueAdd) noexcept |
| Add a message filter. More... | |
| virtual void | addListener (int32_t nGroupId, Event *p0ListenerEvent, int32_t nMsg) noexcept |
| Adds a listener to the event. More... | |
| bool | isActive () const noexcept |
| Tells whether the event is active. More... | |
| int32_t | getTriggerTime () const noexcept |
| The triggering time. More... | |
| int32_t | getPriority () const noexcept |
| The priority. More... | |
| int32_t | getDebugTag () const noexcept |
| The debug tag. More... | |
Protected Member Functions | |
| void | reInit (Init &&oInit) noexcept |
| See constructor. More... | |
Protected Member Functions inherited from stmg::Event | |
| Event (Init &&oInit) noexcept | |
| Constructor. More... | |
| void | reInit (Init &&oInit) noexcept |
| Reinitialization. More... | |
| virtual void | informListeners (int32_t nGroupId, int32_t nValue) noexcept |
| Calls the trigger function of a group of listeners. More... | |
| const Level & | level () const noexcept |
| The level this event belongs to. More... | |
| Level & | level () noexcept |
| The level this event belongs to. More... | |
Delayed queue event.
Allows to queue incoming values (messages) and output them one by one separated by an interval (with game tick granularity). If the queue exceeds its max size new values are dropped.
The interval is the sum of two components, one is in game ticks, the other is in milliseconds, transformed in game ticks according to the current game interval GameProxy::gameInterval(). The interval is always at least one game tick.
If no value was output in the last 'interval' ticks, an incoming value is output in the same game tick it is received.
The interval components can be changed at runtime.
| anonymous enum |
| anonymous enum |
|
explicitnoexcept |
Constructor.
| oInit | Initialization data. |
|
protectednoexcept |
See constructor.
|
overridevirtualnoexcept |
The trigger function.
This function provides the functionality of the event and can be called in two ways.
It can be called by an event through informListeners() this event was listening to. Note: events can listen to themselves.
It can also be called by the timer if the event was active.
When this function is called the event has already been deactivated by the level (if it was active in the first place).
When this function is called the filters of this event have already been applied.
| nMsg | The message received. |
| nValue | The value received. |
| p0TriggeringEvent | The triggering event or null if triggered by timer. |
Implements stmg::Event.
1.8.13