Open 3D Engine AzCore API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::OrderedEvent< Params > Class Template Referencefinal

#include <OrderedEvent.h>

Public Member Functions

 OrderedEvent (OrderedEvent &&rhs)
 
 OrderedEvent (const OrderedEvent &rhs)=delete
 
OrderedEventoperator= (OrderedEvent &&rhs)
 
OrderedEventoperator= (const OrderedEvent &rhs)=delete
 
bool HasHandlerConnected () const
 Returns true if at least one handler is connected to this event.
 
void DisconnectAllHandlers ()
 Disconnects all connected handlers.
 
void Signal (const Params &... params) const
 

Friends

class OrderedEventHandler< Params... >
 

Detailed Description

template<typename... Params>
class AZ::OrderedEvent< Params >

A specialized type of EBus useful for eventing on a specific event type where the handlers are invoked based on priority. Note that this system does not provide any thread safety, Handler Connect and Disconnect must happen on the same thread dispatching Events It is safe to connect or disconnect handlers during a signal, in this case we don't guarantee the signal will be dispatched to the disconnected handler Example Usage:

{
OrderedEvent<int32_t> event; // An Event that can event a single int32_t.
int32_t handlerPriority = 100; //give the handler a priority, higher values will be signaled before lower values.
OrderedEvent<int32_t>::Handler handler([](int32_t value) { DO_SOMETHING_WITH_VALUE(value); }, handlerPriority);
handler.Connect(event); // Our handler is now connected to the Event
event.Signal(1); // Our handlers lambda will now get invoked with the value 1
};
Definition: OrderedEvent.h:35

Member Function Documentation

◆ Signal()

template<typename... Params>
void AZ::OrderedEvent< Params >::Signal ( const Params &...  params) const

Signal an event.

Parameters
paramsvariadic set of event parameters

The documentation for this class was generated from the following files: