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

The world rtti converter context tracks created objects and is capable of also handling components / game objects. Used by the plIPCObjectMirror to create / destroy objects. More...

#include <WorldRttiConverterContext.h>

Inheritance diagram for plWorldRttiConverterContext:

Classes

struct  Event
 

Public Member Functions

virtual void Clear () override
 
void DeleteExistingObjects ()
 
virtual plInternal::NewInstance< void > CreateObject (const plUuid &guid, const plRTTI *pRtti) override
 
virtual void DeleteObject (const plUuid &guid) override
 
virtual void RegisterObject (const plUuid &guid, const plRTTI *pRtti, void *pObject) override
 
virtual void UnregisterObject (const plUuid &guid) override
 
virtual plRttiConverterObject GetObjectByGUID (const plUuid &guid) const override
 
virtual plUuid GetObjectGUID (const plRTTI *pRtti, const void *pObject) const override
 
virtual void OnUnknownTypeError (plStringView sTypeName) override
 
- Public Member Functions inherited from plRttiConverterContext
virtual plUuid GenerateObjectGuid (const plUuid &parentGuid, const plAbstractProperty *pProp, plVariant index, void *pObject) const
 Generates a guid for a new object. Default implementation generates stable guids derived from parentGuid + property name + index and ignores the address of pObject.
 
virtual const plRTTIFindTypeByName (plStringView sName) const
 
template<typename T >
void GetObjectsByType (plDynamicArray< T * > &out_objects, plDynamicArray< plUuid > *out_pUuids=nullptr)
 
virtual plUuid EnqueObject (const plUuid &guid, const plRTTI *pRtti, void *pObject)
 
virtual plRttiConverterObject DequeueObject ()
 

Public Attributes

plWorldm_pWorld = nullptr
 
plEditorGuidEngineHandleMap< plGameObjectHandlem_GameObjectMap
 
plEditorGuidEngineHandleMap< plComponentHandlem_ComponentMap
 
plEditorGuidEngineHandleMap< plUInt32 > m_OtherPickingMap
 
plEditorGuidEngineHandleMap< plUInt32 > m_ComponentPickingMap
 
plUInt32 m_uiNextComponentPickingID = 1
 
plUInt32 m_uiHighlightID = 1
 
plEvent< const Event & > m_Events
 
plSet< plStringm_UnknownTypes
 

Additional Inherited Members

- Protected Attributes inherited from plRttiConverterContext
plHashTable< plUuid, plRttiConverterObjectm_GuidToObject
 
plHashTable< const void *, plUuidm_ObjectToGuid
 
plSet< plUuidm_QueuedObjects
 

Detailed Description

The world rtti converter context tracks created objects and is capable of also handling components / game objects. Used by the plIPCObjectMirror to create / destroy objects.

Atm it does not remove owner ptr when a parent is deleted, so it will accumulate zombie entries. As requests to dead objects shouldn't generally happen this is for the time being not a problem.

Member Function Documentation

◆ Clear()

void plWorldRttiConverterContext::Clear ( )
overridevirtual

Reimplemented from plRttiConverterContext.

◆ CreateObject()

plInternal::NewInstance< void > plWorldRttiConverterContext::CreateObject ( const plUuid & guid,
const plRTTI * pRtti )
overridevirtual

Reimplemented from plRttiConverterContext.

◆ DeleteObject()

void plWorldRttiConverterContext::DeleteObject ( const plUuid & guid)
overridevirtual

Reimplemented from plRttiConverterContext.

◆ GetObjectByGUID()

plRttiConverterObject plWorldRttiConverterContext::GetObjectByGUID ( const plUuid & guid) const
overridevirtual

Reimplemented from plRttiConverterContext.

◆ GetObjectGUID()

plUuid plWorldRttiConverterContext::GetObjectGUID ( const plRTTI * pRtti,
const void * pObject ) const
overridevirtual

Reimplemented from plRttiConverterContext.

◆ OnUnknownTypeError()

void plWorldRttiConverterContext::OnUnknownTypeError ( plStringView sTypeName)
overridevirtual

Reimplemented from plRttiConverterContext.

◆ RegisterObject()

void plWorldRttiConverterContext::RegisterObject ( const plUuid & guid,
const plRTTI * pRtti,
void * pObject )
overridevirtual

Reimplemented from plRttiConverterContext.

◆ UnregisterObject()

void plWorldRttiConverterContext::UnregisterObject ( const plUuid & guid)
overridevirtual

Reimplemented from plRttiConverterContext.


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