/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/Editor/EditorEngineProcessFramework/EngineProcess/WorldRttiConverterContext.h
54 строки
2 KB
Ingrater
Fix Vulkan MSAA Issue + Linux fixes (#1017)
05 сен 2023, 21:25
Не верифицирован
05 сен 2023, 21:25
c46e3b4
Код
Авторство
О чём код?
#pragma once #include <Core/World/World.h> #include <EditorEngineProcessFramework/EditorEngineProcessFrameworkDLL.h> #include <EditorEngineProcessFramework/EngineProcess/GuidHandleMap.h> #include <EditorEngineProcessFramework/IPC/IPCObjectMirrorEngine.h> /// \brief The world rtti converter context tracks created objects and is capable of also handling /// components / game objects. Used by the ezIPCObjectMirror 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. class EZ_EDITORENGINEPROCESSFRAMEWORK_DLL ezWorldRttiConverterContext : public ezRttiConverterContext { public: virtual void Clear() override; void DeleteExistingObjects(); virtual ezInternal::NewInstance<void> CreateObject(const ezUuid& guid, const ezRTTI* pRtti) override; virtual void DeleteObject(const ezUuid& guid) override; virtual void RegisterObject(const ezUuid& guid, const ezRTTI* pRtti, void* pObject) override; virtual void UnregisterObject(const ezUuid& guid) override; virtual ezRttiConverterObject GetObjectByGUID(const ezUuid& guid) const override; virtual ezUuid GetObjectGUID(const ezRTTI* pRtti, const void* pObject) const override; virtual void OnUnknownTypeError(ezStringView sTypeName) override; ezWorld* m_pWorld = nullptr; ezEditorGuidEngineHandleMap<ezGameObjectHandle> m_GameObjectMap; ezEditorGuidEngineHandleMap<ezComponentHandle> m_ComponentMap; ezEditorGuidEngineHandleMap<ezUInt32> m_OtherPickingMap; ezEditorGuidEngineHandleMap<ezUInt32> m_ComponentPickingMap; ezUInt32 m_uiNextComponentPickingID = 1; ezUInt32 m_uiHighlightID = 1; struct Event { enum class Type { GameObjectCreated, GameObjectDeleted, }; Type m_Type; ezUuid m_ObjectGuid; }; ezEvent<const Event&> m_Events; ezSet<ezString> m_UnknownTypes; };