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::ComponentBus Class Reference

#include <ComponentBus.h>

Inherits AZ::EBusTraits.

Inherited by AZ::EntityEvents, AZ::NonUniformScaleRequests, AZ::SliceEntityHierarchyInterface, AZ::SliceMetadataInfoManipulationRequests, AZ::SliceMetadataInfoNotifications, AZ::SliceMetadataInfoRequests, AZ::TransformInterface, AZ::TransformNotification, and AZ::VertexRequests.

Public Types

typedef EntityId BusIdType
 
- Public Types inherited from AZ::EBusTraits
using AllocatorType = AZ::Internal::EBusEnvironmentAllocator
 
using BusIdType = NullBusId
 
using BusIdOrderCompare = NullBusIdCompare
 
using BusHandlerOrderCompare = BusHandlerCompareDefault
 
using MutexType = NullMutex
 
using EventQueueMutexType = NullMutex
 
template<class Bus >
using ConnectionPolicy = EBusConnectionPolicy< Bus >
 
template<class Context >
using StoragePolicy = EBusEnvironmentStoragePolicy< Context >
 
template<class Bus >
using RouterPolicy = EBusRouterPolicy< Bus >
 
using EventProcessingPolicy = EBusEventProcessingPolicy
 
template<typename DispatchMutex , bool IsLocklessDispatch>
using DispatchLockGuard = AZStd::conditional_t< IsLocklessDispatch, AZ::Internal::NullLockGuard< DispatchMutex >, AZStd::scoped_lock< DispatchMutex > >
 
template<typename ContextMutex >
using ConnectLockGuard = AZStd::conditional_t< AZStd::is_same_v< ContextMutex, AZ::NullMutex >, AZ::Internal::NullLockGuard< ContextMutex >, AZStd::unique_lock< ContextMutex > >
 
template<typename ContextMutex >
using BindLockGuard = AZStd::scoped_lock< ContextMutex >
 
template<typename ContextMutex >
using CallstackTrackerLockGuard = AZStd::conditional_t< AZStd::is_same_v< ContextMutex, AZ::NullMutex >, AZ::Internal::NullLockGuard< ContextMutex >, AZStd::unique_lock< ContextMutex > >
 

Public Member Functions

virtual ~ComponentBus ()=default
 

Static Public Attributes

static const EBusAddressPolicy AddressPolicy = EBusAddressPolicy::ById
 
- Static Public Attributes inherited from AZ::EBusTraits
static constexpr EBusHandlerPolicy HandlerPolicy = EBusHandlerPolicy::Multiple
 
static constexpr EBusAddressPolicy AddressPolicy = EBusAddressPolicy::Single
 
static constexpr bool EnableEventQueue = false
 
static constexpr bool EventQueueingActiveByDefault = true
 
static constexpr bool EnableQueuedReferences = false
 
static constexpr bool LocklessDispatch = false
 

Additional Inherited Members

- Protected Member Functions inherited from AZ::EBusTraits
 ~EBusTraits ()=default
 

Detailed Description

Base class for message buses. Most components that derive from AZ::Component use this class to implement their buses, and then override the default AZ::EBusTraits to suit their needs.

Member Typedef Documentation

◆ BusIdType

Overrides the default AZ::EBusTraits ID type so that entity IDs are used to access the addresses of the bus.

Constructor & Destructor Documentation

◆ ~ComponentBus()

virtual AZ::ComponentBus::~ComponentBus ( )
virtualdefault

Destroys a component bus.

Member Data Documentation

◆ AddressPolicy

const EBusAddressPolicy AZ::ComponentBus::AddressPolicy = EBusAddressPolicy::ById
static

Overrides the default AZ::EBusTraits address policy so that the bus has multiple addresses at which to receive messages. This bus is identified by EntityId. Messages addressed to an ID are received by handlers connected to that ID.


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