52 lines
1.2 KiB
C++
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;
|
|
};
|