/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/EditorPlugins/Assets/EditorPluginAssets/StateMachineAsset/StateMachineAsset.cpp
78 строк
3 KB
C-Core
Array usage cleanup (#1864)
11 мар 2026, 23:44
Не верифицирован
11 мар 2026, 23:44
f7cb730
Код
Авторство
О чём код?
#include <EditorPluginAssets/EditorPluginAssetsPCH.h> #include <EditorPluginAssets/StateMachineAsset/StateMachineAsset.h> #include <EditorPluginAssets/StateMachineAsset/StateMachineGraph.h> #include <GuiFoundation/VisualGraph/Scene.moc.h> #include <ToolsFoundation/Serialization/DocumentObjectConverter.h> // clang-format off EZ_BEGIN_DYNAMIC_REFLECTED_TYPE(ezStateMachineAssetDocument, 4, ezRTTINoAllocator) EZ_END_DYNAMIC_REFLECTED_TYPE; // clang-format on ezStateMachineAssetDocument::ezStateMachineAssetDocument(ezStringView sDocumentPath) : ezAssetDocument(sDocumentPath, EZ_DEFAULT_NEW(ezStateMachineNodeManager), ezAssetDocEngineConnection::FullObjectMirroring) { } ezTransformStatus ezStateMachineAssetDocument::InternalTransformAsset(const char* szTargetFile, ezStringView sOutputTag, const ezPlatformProfile* pAssetProfile, const ezAssetFileHeader& AssetHeader, ezBitflags<ezTransformFlags> transformFlags) { return ezAssetDocument::RemoteExport(AssetHeader, szTargetFile); } ezTransformStatus ezStateMachineAssetDocument::InternalTransformAsset(ezStreamWriter& stream, ezStringView sOutputTag, const ezPlatformProfile* pAssetProfile, const ezAssetFileHeader& AssetHeader, ezBitflags<ezTransformFlags> transformFlags) { EZ_REPORT_FAILURE("Should not be called"); return ezTransformStatus(); } void ezStateMachineAssetDocument::InternalGetMetaDataHash(const ezDocumentObject* pObject, ezUInt64& inout_uiHash) const { auto pManager = static_cast<const ezStateMachineNodeManager*>(GetObjectManager()); pManager->GetMetaDataHash(pObject, inout_uiHash); } void ezStateMachineAssetDocument::AttachMetaDataBeforeSaving(ezAbstractObjectGraph& graph) const { SUPER::AttachMetaDataBeforeSaving(graph); const auto pManager = static_cast<const ezStateMachineNodeManager*>(GetObjectManager()); pManager->AttachMetaDataBeforeSaving(graph); } void ezStateMachineAssetDocument::RestoreMetaDataAfterLoading(const ezAbstractObjectGraph& graph, bool bUndoable) { SUPER::RestoreMetaDataAfterLoading(graph, bUndoable); auto pManager = static_cast<ezStateMachineNodeManager*>(GetObjectManager()); pManager->RestoreMetaDataAfterLoading(graph, bUndoable); } void ezStateMachineAssetDocument::GetSupportedMimeTypesForPasting(ezDynamicArray<ezString>& out_mimeTypes) const { out_mimeTypes.PushBack("application/ezEditor.StateMachineGraph"); } bool ezStateMachineAssetDocument::CopySelectedObjects(ezAbstractObjectGraph& out_objectGraph, ezStringBuilder& out_MimeType) const { out_MimeType = "application/ezEditor.StateMachineGraph"; const ezVisualGraphObjectManager* pManager = static_cast<const ezVisualGraphObjectManager*>(GetObjectManager()); if (!pManager->CopySelectedObjects(out_objectGraph)) return false; // prevent that we get a second node with "IsInitialState" set to true for (auto itNode : out_objectGraph.GetAllNodes()) { if (auto pInit = itNode.Value()->FindProperty("IsInitialState")) { pInit->m_Value = false; } } return true; } bool ezStateMachineAssetDocument::Paste(const ezArrayPtr<PasteInfo>& info, const ezAbstractObjectGraph& objectGraph, bool bAllowPickedPosition, ezStringView sMimeType) { ezVisualGraphObjectManager* pManager = static_cast<ezVisualGraphObjectManager*>(GetObjectManager()); return pManager->PasteObjects(info, objectGraph, ezQtVisualGraphScene::GetLastMouseInteractionPos(), bAllowPickedPosition); }