XII Release 0.1.0
Loading...
Searching...
No Matches
xiiWorldRttiConverterContext Class Reference

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

#include <WorldRttiConverterContext.h>

Inheritance diagram for xiiWorldRttiConverterContext:
[legend]

Classes

struct  Event
 

Public Member Functions

virtual void Clear () override
 
void DeleteExistingObjects ()
 
virtual xiiInternal::NewInstance< void > CreateObject (const xiiUuid &guid, const xiiRTTI *pRtti) override
 
virtual void DeleteObject (const xiiUuid &guid) override
 
virtual void RegisterObject (const xiiUuid &guid, const xiiRTTI *pRtti, void *pObject) override
 
virtual void UnregisterObject (const xiiUuid &guid) override
 
virtual xiiRttiConverterObject GetObjectByGUID (const xiiUuid &guid) const override
 
virtual xiiUuid GetObjectGUID (const xiiRTTI *pRtti, const void *pObject) const override
 
virtual void OnUnknownTypeError (xiiStringView sTypeName) override
 
- Public Member Functions inherited from xiiRttiConverterContext
virtual xiiUuid GenerateObjectGuid (const xiiUuid &parentGuid, const xiiAbstractProperty *pProp, xiiVariant 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 xiiRTTIFindTypeByName (xiiStringView sName) const
 
template<typename T>
void GetObjectsByType (xiiDynamicArray< T * > &out_objects, xiiDynamicArray< xiiUuid > *out_pUuids=nullptr)
 
virtual xiiUuid EnqueObject (const xiiUuid &guid, const xiiRTTI *pRtti, void *pObject)
 
virtual xiiRttiConverterObject DequeueObject ()
 

Public Attributes

xiiWorldm_pWorld = nullptr
 
xiiEditorGuidEngineHandleMap< xiiGameObjectHandlem_GameObjectMap
 
xiiEditorGuidEngineHandleMap< xiiComponentHandlem_ComponentMap
 
xiiEditorGuidEngineHandleMap< xiiUInt32 > m_OtherPickingMap
 
xiiEditorGuidEngineHandleMap< xiiUInt32 > m_ComponentPickingMap
 
xiiUInt32 m_uiNextComponentPickingID = 1
 
xiiUInt32 m_uiHighlightID = 1
 
xiiEvent< const Event & > m_Events
 
xiiSet< xiiStringm_UnknownTypes
 

Additional Inherited Members

- Protected Attributes inherited from xiiRttiConverterContext
xiiHashTable< xiiUuid, xiiRttiConverterObjectm_GuidToObject
 
xiiHashTable< const void *, xiiUuidm_ObjectToGuid
 
xiiSet< xiiUuidm_QueuedObjects
 

Detailed Description

The world rtti converter context tracks created objects and is capable of also handling components / game objects. Used by the xiiIPCObjectMirror 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 xiiWorldRttiConverterContext::Clear ( )
overridevirtual

Reimplemented from xiiRttiConverterContext.

◆ CreateObject()

xiiInternal::NewInstance< void > xiiWorldRttiConverterContext::CreateObject ( const xiiUuid & guid,
const xiiRTTI * pRtti )
overridevirtual

Reimplemented from xiiRttiConverterContext.

◆ DeleteObject()

void xiiWorldRttiConverterContext::DeleteObject ( const xiiUuid & guid)
overridevirtual

Reimplemented from xiiRttiConverterContext.

◆ GetObjectByGUID()

xiiRttiConverterObject xiiWorldRttiConverterContext::GetObjectByGUID ( const xiiUuid & guid) const
overridevirtual

Reimplemented from xiiRttiConverterContext.

◆ GetObjectGUID()

xiiUuid xiiWorldRttiConverterContext::GetObjectGUID ( const xiiRTTI * pRtti,
const void * pObject ) const
overridevirtual

Reimplemented from xiiRttiConverterContext.

◆ OnUnknownTypeError()

void xiiWorldRttiConverterContext::OnUnknownTypeError ( xiiStringView sTypeName)
overridevirtual

Reimplemented from xiiRttiConverterContext.

◆ RegisterObject()

void xiiWorldRttiConverterContext::RegisterObject ( const xiiUuid & guid,
const xiiRTTI * pRtti,
void * pObject )
overridevirtual

Reimplemented from xiiRttiConverterContext.

◆ UnregisterObject()

void xiiWorldRttiConverterContext::UnregisterObject ( const xiiUuid & guid)
overridevirtual

Reimplemented from xiiRttiConverterContext.


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