Menu
Lumberyard
C++ API Reference (Version 1.10)

Open 3D Engine (O3DE), the successor to Lumberyard, is now available in Developer Preview. Download O3DE or visit the AWS Game Tech blog to learn more.

Namespaces

BusInternal
Debug
Edit

Classes

class Attribute
Base class for all attributes that are used by reflection contexts. More...
class AttributeData
A generic attribute that contains data that is stored by value. More...
class AttributeFunction
A generic attribute that contains a pointer to a global function. More...
class AttributeFunction< R(Args...)>
An attribute that contains a pointer to a global function with the specified arguments and return type. More...
class AttributeMemberData
A generic attribute that points to class member data. More...
class AttributeMemberData< T C::* >
An attribute that points to class member data of a specified class type. More...
class AttributeMemberFunction
A generic attribute that contains a pointer to a class member function. More...
class AttributeMemberFunction< R(C::*)(Args...) const >
An attribute that contains a pointer to a const class member function with the specified arguments and return type. More...
class AttributeMemberFunction< R(C::*)(Args...)>
An attribute that contains a pointer to a class member function with the specified arguments and return type. More...
struct AzTypeInfo< R(Args...), false >
Specialization of AzTypeInfo for function pointers. More...
struct AzTypeInfo< T, false >
Specialization of AzTypeInfo for types that use AZ_TYPE_INFO to add type information to the class. More...
struct AzTypeInfo< T, true >
Default specialization of AzTypeInfo for enums that do not contain AzTypeInfo . More...
class BehaviorClass
Contains all the information about a class that is reflected to the behavior context. More...
class BehaviorContext
BehaviorContext is an object that contains information about classes, methods, properties, constants, enums, and EBuses to enable Lumberyard to interact with objects during run time. More...
class BehaviorContextEvents
Interface for the AZ::BehaviorContextBus , which is the EBus that dispatches behavior context events. More...
class Component
Base class for all components. More...
class ComponentApplication
A class that you use directly or as a base class to create a component-based Lumberyard application. More...
class ComponentApplicationEvents
Interface for AZ::ComponentApplicationEventBus , which is the EBus that dispatches component application events. More...
class ComponentApplicationRequests
Interface for AZ::ComponentApplicationBus , which components use to make requests of the main application. More...
class ComponentBus
Base class for message buses. More...
class ComponentDescriptor
Provides an interface through which the system can get the details of a component and reflect the component data to a variety of contexts. More...
struct ComponentDescriptorBusTraits
Describes the properties of the component descriptor event bus. More...
class ComponentDescriptorDefault
Default descriptor implementation. More...
class ComponentDescriptorHelper
Helps you create a custom implementation of a descriptor. More...
class EBus
Event buses (EBuses) are a general-purpose communication system that Lumberyard uses to dispatch notifications and receive requests. More...
struct EBusAggregateResults
Collects results returned by all handlers of an EBus event. More...
struct EBusConnectionPolicy
Defines the default connection policy that is used when AZ::EBusTraits::ConnectionPolicy is left unspecified. More...
struct EBusEnvironmentStoragePolicy
A choice of AZ::EBusTraits::StoragePolicy that specifies that EBus data is stored in the AZ::Environment. More...
struct EBusGlobalStoragePolicy
A choice of AZ::EBusTraits::StoragePolicy that specifies that EBus data is stored in a global static variable. More...
struct EBusReduceResult
Aggregates results returned by all handlers of an EBus event. More...
struct EBusReduceResult< T &, Aggregator >
Aggregates results returned by all handlers of an EBus event. More...
struct EBusThreadLocalStoragePolicy
A choice of AZ::EBusTraits::StoragePolicy that specifies that EBus data is stored in a thread_local static variable. More...
struct EBusTraits
EBusTraits are properties that you use to configure an EBus . More...
class EditContext
You use the EditContext to make class data editable in the Lumberyard editor. More...
class Entity
An addressable container for a group of components. More...
class EntityComponentIdPair
A pair of entity and component IDs that are used to access an address of an AZ::EntityComponentBus. More...
class EntityEvents
Interface for the AZ::EntityBus , which is the EBus for notification events dispatched by a specific entity. More...
class EntityId
Entity ID type. More...
class EntitySystemEvents
Interface for the AZ::EntitySystemBus , which is the EBus that dispatches notification events about every entity in the system. More...
struct NullBusId
Indicates that EBusTraits::BusIdType is not set. More...
struct NullMutex
A dummy mutex that performs no locking. More...
class ReflectContext
Base class for all reflection contexts. More...
class SerializeContext
The serialize context contains information about every Lumberyard class that might need to be saved to persistent storage and reconstructed in memory. More...
class SystemTickEvents
Interface for AZ::SystemTickBus , which is the EBus that dispatches system tick events. More...
class TickEvents
Interface for AZ::TickBus , which is the EBus that dispatches tick events. More...
class TickRequests
Interface for AZ::TickRequestBus , which components use to make tick-related requests. More...
class TransformInterface
Interface for AZ::TransformBus , which is an EBus that receives requests to translate (position), rotate, and scale an entity in 3D space. More...
class TransformNotification
Interface for AZ::TransformNotificationBus , which is the EBus that dispatches transform changes to listeners. More...

Typedefs

typedef AZ::u32 ComponentServiceType
ID of a user-defined component service. The system uses it to build a dependency tree. More...
using ComponentTypeList = AZStd::vector< Uuid >
List of Component class type IDs. More...
typedef AZ::EBus < ComponentDescriptor , ComponentDescriptorBusTraits > ComponentDescriptorBus
typedef AZ::EBus < ComponentApplicationEvents > ComponentApplicationEventBus
The EBus for component application events. More...
typedef AZ::EBus < ComponentApplicationRequests > ComponentApplicationBus
The EBus that components use to make requests of the main application. More...
typedef AZ::u64 ComponentId
typedef AZ::EBus < EntitySystemEvents > EntitySystemBus
The EBus for systemwide entity notification events. More...
typedef AZ::EBus < EntityEvents > EntityBus
The EBus for notification events dispatched by a specific entity. More...
typedef AZ::EBus < TickEvents > TickBus
The EBus for tick notification events. More...
typedef AZ::EBus < TickRequests > TickRequestBus
The EBus for tick-related requests. More...
using SystemTickBus = AZ::EBus < SystemTickEvents >
The EBus for system tick notification events. More...
typedef AZ::EBus < TransformInterface > TransformBus
The EBus for requests to position and parent an entity. More...
typedef AZ::EBus < TransformNotification > TransformNotificationBus
The EBus for transform notification events. More...
typedef AZ::u32 AttributeId
The attribute ID type. More...
typedef AZStd::pair< AttributeId , Attribute * > AttributePair
A pair that contains an attribute's ID and a pointer to the attribute. More...
typedef AZStd::vector< AttributePair > AttributeArray
An array of attributes. More...
using BehaviorContextBus = AZ::EBus < BehaviorContextEvents >
The EBus for behavior context notification events. More...

Enumerations

enum ComponentTickBus {
TICK_FIRST , TICK_PLACEMENT , TICK_ANIMATION , TICK_PHYSICS ,
TICK_DEFAULT , TICK_UI , TICK_LAST
}
Values to help you set when a particular handler is notified of ticks. More...
enum EBusAddressPolicy { EBusAddressPolicy::Single , EBusAddressPolicy::ById , EBusAddressPolicy::ByIdAndOrdered }
Defines how many addresses exist on the EBus. More...
enum EBusHandlerPolicy { EBusHandlerPolicy::Single , EBusHandlerPolicy::Multiple , EBusHandlerPolicy::MultipleAndOrdered }
Defines how many handlers can connect to an address on the EBus and the order in which handlers at each address receive events. More...

Functions

template<class T , class U >
bool operator== (AzTypeInfo< T > const &lhs, AzTypeInfo< U > const &rhs)
Compares the AzTypeInfo of two type instances for equality. More...
template<class T , class U >
bool operator!= (AzTypeInfo< T > const &lhs, AzTypeInfo< U > const &rhs)
Compares the AzTypeInfo of two type instances for inequality. More...
Attribute * FindAttribute ( AttributeId id, const AttributeArray &attrArray)
Finds an attribute within an array of attributes. More...

Variables

static const ComponentId InvalidComponentId

Typedef Documentation

AttributeArray

typedef AZStd::vector< AttributePair > AZ::AttributeArray

An array of attributes.

AttributeId

typedef AZ::u32 AZ::AttributeId

The attribute ID type.

AttributePair

A pair that contains an attribute's ID and a pointer to the attribute.

BehaviorContextBus

The EBus for behavior context notification events.

The events are defined in the AZ::BehaviorContextEvents class.

ComponentApplicationBus

The EBus that components use to make requests of the main application.

The events are defined in the AZ::ComponentApplicationRequests class.

ComponentApplicationEventBus

The EBus for component application events.

The events are defined in the AZ::ComponentApplicationEvents class.

ComponentDescriptorBus

ComponentId

typedef AZ::u64 AZ::ComponentId

ComponentServiceType

ID of a user-defined component service. The system uses it to build a dependency tree.

ComponentTypeList

using AZ::ComponentTypeList = typedef AZStd::vector<Uuid>

List of Component class type IDs.

EntityBus

The EBus for notification events dispatched by a specific entity.

The events are defined in the AZ::EntityEvents class.

EntitySystemBus

The EBus for systemwide entity notification events.

The events are defined in the AZ::EntitySystemEvents class.

SystemTickBus

The EBus for system tick notification events.

The events are defined in the AZ::SystemTickEvents class.

TickBus

The EBus for tick notification events.

The events are defined in the AZ::TickEvents class.

TickRequestBus

The EBus for tick-related requests.

The events are defined in the AZ::TickRequests class.

TransformBus

The EBus for requests to position and parent an entity.

The events are defined in the AZ::TransformInterface class.

TransformNotificationBus

The EBus for transform notification events.

The events are defined in the AZ::TransformNotification class.

Enumeration Type Documentation

ComponentTickBus

Values to help you set when a particular handler is notified of ticks.

Enumerator
TICK_FIRST

First position in the tick handler order.

TICK_PLACEMENT

Suggested tick handler position for components that need to be early in the tick order.

TICK_ANIMATION

Suggested tick handler position for animation components.

TICK_PHYSICS

Suggested tick handler position for physics components.

TICK_DEFAULT

Default tick handler position when the handler is constructed.

TICK_UI

Suggested tick handler position for UI components.

TICK_LAST

Last position in the tick handler order.

EBusAddressPolicy

Defines how many addresses exist on the EBus .

Enumerator
Single

(Default) The EBus has a single address.

ById

The EBus has multiple addresses; the order in which addresses receive events is undefined.

Events that are addressed to an ID are received by handlers that are connected to that ID. Events that are broadcast without an ID are received by handlers at all addresses.

ByIdAndOrdered

The EBus has multiple addresses; the order in which addresses receive events is defined.

Events that are addressed to an ID are received by handlers that are connected to that ID. Events that are broadcast without an ID are received by handlers at all addresses. The order in which addresses receive events is defined by AZ::EBusTraits::BusIdOrderCompare .

EBusHandlerPolicy

Defines how many handlers can connect to an address on the EBus and the order in which handlers at each address receive events.

Enumerator
Single

The EBus supports one handler for each address.

Multiple

(Default) Allows any number of handlers for each address; handlers at an address receive events in the order in which the handlers are connected to the EBus .

MultipleAndOrdered

Allows any number of handlers for each address; the order in which each address receives an event is defined by AZ::EBusTraits::BusHandlerOrderCompare .

Function Documentation

FindAttribute()

Attribute * AZ::FindAttribute ( AttributeId id ,
const AttributeArray & attrArray
)
inline

Finds an attribute within an array of attributes.

Parameters
id The ID of the attribute to find.
attrArray A reference to the array of attributes to search.
Returns
A pointer to the attribute with the specified ID.

operator!=()

template<class T , class U >
bool AZ::operator!= ( AzTypeInfo< T > const & lhs ,
AzTypeInfo< U > const & rhs
)
inline

Compares the AzTypeInfo of two type instances for inequality.

Template Parameters
T A type that contains AzTypeInfo .
U A type that contains AzTypeInfo .
Parameters
lhs A reference to the AzTypeInfo of a type.
rhs A reference to the AzTypeInfo of a type.
Returns
Returns true if the types do not have the same unique identifier.

operator==()

template<class T , class U >
bool AZ::operator== ( AzTypeInfo< T > const & lhs ,
AzTypeInfo< U > const & rhs
)
inline

Compares the AzTypeInfo of two type instances for equality.

Template Parameters
T A type that contains AzTypeInfo .
U A type that contains AzTypeInfo .
Parameters
lhs A reference to the AzTypeInfo of a type.
rhs A reference to the AzTypeInfo of a type.
Returns
Returns true if the types have the same unique identifier.

Variable Documentation

InvalidComponentId

const ComponentId AZ::InvalidComponentId
static