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...
|
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 |
|
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 plRTTI * | FindTypeByName (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 () |
|
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.