Files
UnrealEngineUWP/Engine/Plugins/Runtime/Metasound/Source/MetasoundFrontend/Public/MetasoundFrontendDocumentModifyDelegates.h
helen yang fa585989cf Fix ensures when migrating MetaSound assets
- Create new class names for temporary packages created during migration to avoid duplicate node registration
- Change duplicate node registration ensure to if check with better logging of asset causing collision

#jira UE-161039
#jira UE-175059
#jira UE-188854
#rb rob.gay

[CL 26299244 by helen yang in ue5-main branch]
2023-06-28 17:08:29 -04:00

55 lines
2.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Delegates/DelegateCombinations.h"
#include "MetasoundFrontendDocument.h"
#include "Templates/SharedPointer.h"
DECLARE_MULTICAST_DELEGATE_OneParam(FOnMetaSoundFrontendDocumentMutateArray, int32 /* Index */);
DECLARE_MULTICAST_DELEGATE_OneParam(FOnMetaSoundFrontendDocumentMutateInterfaceArray, const FMetasoundFrontendInterface& /* Interface */);
DECLARE_MULTICAST_DELEGATE_TwoParams(FOnMetaSoundFrontendDocumentRenameClass, const int32 /* Index */, const FMetasoundFrontendClassName& /* NewName */);
DECLARE_MULTICAST_DELEGATE_ThreeParams(FOnMetaSoundFrontendDocumentMutateNodeInputLiteralArray, int32 /* NodeIndex */, int32 /* VertexIndex */, int32 /* LiteralIndex */);
namespace Metasound::Frontend
{
struct METASOUNDFRONTEND_API FInterfaceModifyDelegates
{
FOnMetaSoundFrontendDocumentMutateInterfaceArray OnInterfaceAdded;
FOnMetaSoundFrontendDocumentMutateInterfaceArray OnRemovingInterface;
FOnMetaSoundFrontendDocumentMutateArray OnInputAdded;
FOnMetaSoundFrontendDocumentMutateArray OnRemovingInput;
FOnMetaSoundFrontendDocumentMutateArray OnOutputAdded;
FOnMetaSoundFrontendDocumentMutateArray OnRemovingOutput;
};
struct METASOUNDFRONTEND_API FNodeModifyDelegates
{
FOnMetaSoundFrontendDocumentMutateArray OnNodeAdded;
FOnMetaSoundFrontendDocumentMutateArray OnRemovingNode;
FOnMetaSoundFrontendDocumentMutateNodeInputLiteralArray OnNodeInputLiteralSet;
FOnMetaSoundFrontendDocumentMutateNodeInputLiteralArray OnRemovingNodeInputLiteral;
};
struct METASOUNDFRONTEND_API FEdgeModifyDelegates
{
FOnMetaSoundFrontendDocumentMutateArray OnEdgeAdded;
FOnMetaSoundFrontendDocumentMutateArray OnRemovingEdge;
};
struct METASOUNDFRONTEND_API FDocumentModifyDelegates : TSharedFromThis<FDocumentModifyDelegates>
{
FOnMetaSoundFrontendDocumentMutateArray OnDependencyAdded;
FOnMetaSoundFrontendDocumentMutateArray OnRemovingDependency;
FOnMetaSoundFrontendDocumentRenameClass OnRenamingDependencyClass;
FInterfaceModifyDelegates InterfaceDelegates;
FNodeModifyDelegates NodeDelegates;
FEdgeModifyDelegates EdgeDelegates;
};
} // namespace Metasound::Frontend