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

71 lines
2.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "AnimNextRigVMAssetEntry.h"
#include "IAnimNextRigVMExportInterface.h"
#include "IAnimNextRigVMGraphInterface.h"
#include "Variables/IAnimNextRigVMVariableInterface.h"
#include "AnimNextEventGraphEntry.generated.h"
class UAnimNextRigVMAssetEditorData;
class UAnimNextModule_EditorData;
class UAnimNextEdGraph;
namespace UE::AnimNext::Tests
{
class FEditor_Variables;
class FVariables_UOLBindings;
class FEditor_Graphs;
class FEditor_AnimGraph_Variables;
class FEditor_AnimGraph_Graphs;
class FVariables;
}
namespace UE::AnimNext::Editor
{
class FAnimNextEditorModule;
}
UCLASS(MinimalAPI, Category = "Event Graphs", DisplayName = "Event Graph")
class UAnimNextEventGraphEntry : public UAnimNextRigVMAssetEntry, public IAnimNextRigVMGraphInterface
{
GENERATED_BODY()
friend class UAnimNextRigVMAssetEditorData;
friend class UAnimNextModule_EditorData;
friend class UE::AnimNext::Tests::FEditor_Variables;
friend class UE::AnimNext::Tests::FVariables_UOLBindings;
friend class UE::AnimNext::Tests::FEditor_AnimGraph_Variables;
friend class UE::AnimNext::Tests::FEditor_Graphs;
friend class UE::AnimNext::Tests::FEditor_AnimGraph_Graphs;
friend class UE::AnimNext::Tests::FVariables;
friend class UE::AnimNext::Editor::FAnimNextEditorModule;
// UAnimNextRigVMAssetEntry interface
virtual FName GetEntryName() const override { return GraphName; }
virtual void SetEntryName(FName InName, bool bSetupUndoRedo = true) override;
virtual FText GetDisplayName() const override;
virtual FText GetDisplayNameTooltip() const override;
// IAnimNextRigVMGraphInterface interface
virtual const FName& GetGraphName() const override;
virtual URigVMGraph* GetRigVMGraph() const override;
virtual URigVMEdGraph* GetEdGraph() const override;
virtual void SetRigVMGraph(URigVMGraph* InGraph) override;
virtual void SetEdGraph(URigVMEdGraph* InGraph) override;
/** The name of the graph */
UPROPERTY(VisibleAnywhere, Category = "Event Graph")
FName GraphName;
/** Graph */
UPROPERTY()
TObjectPtr<URigVMGraph> Graph;
/** Graph */
UPROPERTY()
TObjectPtr<UAnimNextEdGraph> EdGraph;
};