Plasma Engine  2.0
Loading...
Searching...
No Matches
plPhantomRttiManager Class Reference

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

#include <PhantomRttiManager.h>

Static Public Member Functions

static const plRTTIRegisterType (plReflectedTypeDescriptor &ref_desc)
 Adds a reflected type to the list of accessible types.
 
static bool UnregisterType (const plRTTI *pRtti)
 Removes a type from the list of accessible types.
 

Static Public Attributes

static plCopyOnBroadcastEvent< const plPhantomRttiManagerEvent & > s_Events
 

Detailed Description

Manages all plPhantomRTTI types that have been added to him.

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

Member Function Documentation

◆ RegisterType()

const plRTTI * plPhantomRttiManager::RegisterType ( plReflectedTypeDescriptor & 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 plRTTI.

See also
plReflectionUtils::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 plPhantomRttiManager::UnregisterType ( const plRTTI * 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: