Files
2025-05-18 13:04:45 +08:00

42 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "UObject/Interface.h"
#include "IAnimNextRigVMExportInterface.generated.h"
struct FAnimNextParamType;
UENUM()
enum class EAnimNextExportAccessSpecifier : int32
{
// Export can only be used/referenced in the graph it is declared in
Private,
// Export can be used/referenced in other graphs/contexts (e.g. BP, Verse)
Public,
};
UINTERFACE(meta=(CannotImplementInterfaceInBlueprint))
class ANIMNEXTUNCOOKEDONLY_API UAnimNextRigVMExportInterface : public UInterface
{
GENERATED_BODY()
};
class ANIMNEXTUNCOOKEDONLY_API IAnimNextRigVMExportInterface
{
GENERATED_BODY()
public:
// Get the export type
virtual FAnimNextParamType GetExportType() const = 0;
// Get the export name (e.g. asset path + entry name)
virtual FName GetExportName() const = 0;
// Get the export access specifier
virtual EAnimNextExportAccessSpecifier GetExportAccessSpecifier() const = 0;
// Set the export access specifier
virtual void SetExportAccessSpecifier(EAnimNextExportAccessSpecifier InAccessSpecifier, bool bSetupUndoRedo = true) = 0;
};