Files
UnrealEngine/Engine/Plugins/Experimental/DataLink/Source/DataLinkEdGraph/Public/DataLinkEdGraph.h
2025-05-18 13:04:45 +08:00

52 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "EdGraph/EdGraph.h"
#include "DataLinkEdGraph.generated.h"
class UDataLinkEdOutputNode;
class UDataLinkGraph;
UCLASS(MinimalAPI)
class UDataLinkEdGraph : public UEdGraph
{
GENERATED_BODY()
public:
UDataLinkEdGraph();
/**
* Finds the 'cosmetic' output node
* @see UDataLinkEdOutputNode
*/
DATALINKEDGRAPH_API UDataLinkEdOutputNode* FindOutputNode() const;
/** Initializes all the nodes in this graph, recreating pins of outdated nodes to ensure these are up-to-date with their templates */
DATALINKEDGRAPH_API void InitializeNodes();
//~ Begin UObject
DATALINKEDGRAPH_API virtual void BeginDestroy() override;
//~ End UObject
DATALINKEDGRAPH_API void DirtyGraph();
DATALINKEDGRAPH_API bool IsCompiledGraphUpToDate() const;
private:
void OnGraphCompiled(UDataLinkGraph* InCompiledGraph);
/**
* Represents id of graph changes that haven't been compiled yet.
* Note: if a change occurs, this id will be regenerated only if the Last Compiled Change Id matches the current change id.
*/
UPROPERTY()
FGuid ChangeId;
/** The Change Id that was last compiled */
UPROPERTY()
FGuid LastCompiledChangeId;
FDelegateHandle OnGraphCompiledHandle;
};