Plasma Engine  2.0
Loading...
Searching...
No Matches
WorldRttiConverterContext.h
1#pragma once
2
3#include <Core/World/World.h>
4#include <EditorEngineProcessFramework/EditorEngineProcessFrameworkDLL.h>
5#include <EditorEngineProcessFramework/EngineProcess/GuidHandleMap.h>
6#include <EditorEngineProcessFramework/IPC/IPCObjectMirrorEngine.h>
7
13class PL_EDITORENGINEPROCESSFRAMEWORK_DLL plWorldRttiConverterContext : public plRttiConverterContext
14{
15public:
16 virtual void Clear() override;
17 void DeleteExistingObjects();
18
19 virtual plInternal::NewInstance<void> CreateObject(const plUuid& guid, const plRTTI* pRtti) override;
20 virtual void DeleteObject(const plUuid& guid) override;
21
22 virtual void RegisterObject(const plUuid& guid, const plRTTI* pRtti, void* pObject) override;
23 virtual void UnregisterObject(const plUuid& guid) override;
24
25 virtual plRttiConverterObject GetObjectByGUID(const plUuid& guid) const override;
26 virtual plUuid GetObjectGUID(const plRTTI* pRtti, const void* pObject) const override;
27
28 virtual void OnUnknownTypeError(plStringView sTypeName) override;
29
30 plWorld* m_pWorld = nullptr;
33
35 plEditorGuidEngineHandleMap<plUInt32> m_ComponentPickingMap;
36 plUInt32 m_uiNextComponentPickingID = 1;
37 plUInt32 m_uiHighlightID = 1;
38
39 struct Event
40 {
41 enum class Type
42 {
43 GameObjectCreated,
44 GameObjectDeleted,
45 };
46
47 Type m_Type;
48 plUuid m_ObjectGuid;
49 };
50
51 plEvent<const Event&> m_Events;
52
53 plSet<plString> m_UnknownTypes;
54};
Definition GuidHandleMap.h:7
Definition Event.h:177
This class holds information about reflected types. Each instance represents one type that is known t...
Definition RTTI.h:30
Definition RttiConverter.h:33
Definition Set.h:238
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
This data type is the abstraction for 128-bit Uuid (also known as GUID) instances.
Definition Uuid.h:11
A world encapsulates a scene graph of game objects and various component managers and their component...
Definition World.h:22
The world rtti converter context tracks created objects and is capable of also handling components / ...
Definition WorldRttiConverterContext.h:14
Definition Allocator_inl.h:18
Definition RttiConverter.h:13
Definition WorldRttiConverterContext.h:40