ezEngine  Release 25.03
ezPhantomRttiManager Class Reference

Manages all ezPhantomRTTI types that have been added to him. More...

#include <PhantomRttiManager.h>

Static Public Member Functions

static const ezRTTIRegisterType (ezReflectedTypeDescriptor &ref_desc)
 Adds a reflected type to the list of accessible types. More...
 
static bool UnregisterType (const ezRTTI *pRtti)
 Removes a type from the list of accessible types. More...
 

Static Public Attributes

static ezCopyOnBroadcastEvent< const ezPhantomRttiManagerEvent & > s_Events
 

Detailed Description

Manages all ezPhantomRTTI types that have been added to him.

A ezPhantomRTTI cannot be created directly but must be created via this managers RegisterType function with a given ezReflectedTypeDescriptor.

Member Function Documentation

◆ RegisterType()

const ezRTTI * ezPhantomRttiManager::RegisterType ( ezReflectedTypeDescriptor ref_desc)
static

Adds a reflected type to the list of accessible types.

Types must be added in the correct order, any type must be added before it can be referenced in other types. Any base class must be added before any class deriving from it can be added. Call the function again if a type has changed during the run of the program. If the type actually differs the last known class layout the m_TypeChangedEvent event will be called with the old and new ezRTTI.

See also
ezReflectionUtils::GetReflectedTypeDescriptorFromRtti
Todo:
Had to increase the recursion depth to allow registering phantom types that are based on actual types coming from the engine process

◆ UnregisterType()

bool ezPhantomRttiManager::UnregisterType ( const ezRTTI pRtti)
static

Removes a type from the list of accessible types.

No instance of the given type or storage must still exist when this function is called.


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