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

#include <Module.h>

Inherited by AZ::AzCoreModule.

Public Member Functions

 AZ_RTTI (Module, "{59682E0E-731F-4361-BC0B-039BC5376CA1}")
 AZ_CLASS_ALLOCATOR (Module, AZ::SystemAllocator)
 Module ()
virtual ~Module ()
 Module (const Module &)=delete
Moduleoperator= (const Module &)=delete
void Reflect (AZ::ReflectContext *)
virtual ComponentTypeList GetRequiredSystemComponents () const
void RegisterComponentDescriptors ()
AZStd::list< AZ::ComponentDescriptor * > GetComponentDescriptors () const

Protected Attributes

AZStd::list< AZ::ComponentDescriptor * > m_descriptors

Detailed Description

AZ::Module enables static and dynamic modules (aka LIBs and DLLs) to connect with the running AZ::ComponentApplication.

Each module should contain a class which inherits from AZ::Module. This class must perform tasks such as reflecting the classes within the module and adding critical components to the system entity.

Constructor & Destructor Documentation

◆ Module()

AZ::Module::Module ( )

Override to register the module's ComponentDescriptors.


: AZ::Module()
m_descriptors.insert(m_descriptors.end(), {
Definition: Module.h:33
Reopen namespace to define DataPatch class.
Definition: AssetCommon.h:26

◆ ~Module()

virtual AZ::Module::~Module ( )

Releases all descriptors in m_descriptors.

Member Function Documentation

◆ GetRequiredSystemComponents()

virtual ComponentTypeList AZ::Module::GetRequiredSystemComponents ( ) const

Override to require specific components on the system entity.

The type-ids of required components.

Reimplemented in AZ::AzCoreModule.

◆ Reflect()

void AZ::Module::Reflect ( AZ::ReflectContext )

DO NOT OVERRIDE. This method will return in the future, but at this point things reflected here are not unreflected for all ReflectContexts (Serialize, Editor, Network, Script, etc.) Place all calls to non-component reflect functions inside of a component reflect function to ensure that your types are unreflected.

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