/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/Engine/GameEngine/Configuration/Implementation/RendererProfileConfigs.cpp
80 строк
3 KB
Jan Krassnigg
Introduced attribute to mark properties as required (#1981)
09 июл 2026, 19:48
Не верифицирован
09 июл 2026, 19:48
111b7a7
Код
Авторство
О чём код?
#include <GameEngine/GameEnginePCH.h> #include <GameEngine/Configuration/RendererProfileConfigs.h> #include <Foundation/IO/ChunkStream.h> #include <RendererCore/Pipeline/RenderPipelineResource.h> #include <RendererCore/RenderWorld/RenderWorld.h> // clang-format off EZ_BEGIN_DYNAMIC_REFLECTED_TYPE(ezRenderPipelineProfileConfig, 1, ezRTTIDefaultAllocator<ezRenderPipelineProfileConfig>) { EZ_BEGIN_PROPERTIES { // MainRenderPipeline.ezRenderPipelineAsset EZ_MEMBER_PROPERTY("MainRenderPipeline", m_sMainRenderPipeline)->AddAttributes(new ezAssetBrowserAttribute("CompatibleAsset_RenderPipeline"), new ezDefaultValueAttribute(ezStringView("{ c533e113-2a4c-4f42-a546-653c78f5e8a7 }")), new ezRequiredAttribute()), // EditorRenderPipeline.ezRenderPipelineAsset //EZ_MEMBER_PROPERTY("EditorRenderPipeline", m_sEditorRenderPipeline)->AddAttributes(new ezAssetBrowserAttribute("CompatibleAsset_RenderPipeline"), new ezDefaultValueAttribute(ezStringView("{ da463c4d-c984-4910-b0b7-a0b3891d0448 }"))), // DebugRenderPipeline.ezRenderPipelineAsset //EZ_MEMBER_PROPERTY("DebugRenderPipeline", m_sDebugRenderPipeline)->AddAttributes(new ezAssetBrowserAttribute("CompatibleAsset_RenderPipeline"), new ezDefaultValueAttribute(ezStringView("{ 0416eb3e-69c0-4640-be5b-77354e0e37d7 }"))), EZ_MAP_MEMBER_PROPERTY("CameraPipelines", m_CameraPipelines)->AddAttributes(new ezAssetBrowserAttribute("CompatibleAsset_RenderPipeline")), } EZ_END_PROPERTIES; } EZ_END_DYNAMIC_REFLECTED_TYPE; // clang-format on void ezRenderPipelineProfileConfig::SaveRuntimeData(ezChunkStreamWriter& inout_stream) const { inout_stream.BeginChunk("ezRenderPipelineProfileConfig", 2); inout_stream << m_sMainRenderPipeline; inout_stream << m_CameraPipelines.GetCount(); for (auto it = m_CameraPipelines.GetIterator(); it.IsValid(); ++it) { inout_stream << it.Key(); inout_stream << it.Value(); } inout_stream.EndChunk(); } void ezRenderPipelineProfileConfig::LoadRuntimeData(ezChunkStreamReader& inout_stream) { const auto& chunk = inout_stream.GetCurrentChunk(); if (chunk.m_sChunkName == "ezRenderPipelineProfileConfig" && chunk.m_uiChunkVersion == 2) { ezRenderWorld::BeginModifyCameraConfigs(); ezRenderWorld::ClearCameraConfigs(); inout_stream >> m_sMainRenderPipeline; m_CameraPipelines.Clear(); ezUInt32 uiNumCamPipes = 0; inout_stream >> uiNumCamPipes; for (ezUInt32 i = 0; i < uiNumCamPipes; ++i) { ezString sPipeName, sPipeAsset; inout_stream >> sPipeName; inout_stream >> sPipeAsset; m_CameraPipelines[sPipeName] = sPipeAsset; ezRenderWorld::CameraConfig cfg; cfg.m_hRenderPipeline = ezResourceManager::LoadResource<ezRenderPipelineResource>(sPipeAsset); ezRenderWorld::SetCameraConfig(sPipeName, cfg); } ezRenderWorld::EndModifyCameraConfigs(); } } EZ_STATICLINK_FILE(GameEngine, GameEngine_Configuration_Implementation_RendererProfileConfigs);