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

33 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "EdGraph/EdGraphSchema.h"
#include "DataLinkEdGraphSchema.generated.h"
UCLASS(MinimalAPI)
class UDataLinkEdGraphSchema : public UEdGraphSchema
{
GENERATED_BODY()
public:
/** Pin Categories */
DATALINKEDGRAPH_API static const FLazyName PC_Data;
/** Pin Category Colors */
DATALINKEDGRAPH_API static const FLinearColor PCC_Data;
/** Check whether connecting these pins would cause a loop */
bool IsConnectionLooping(const UEdGraphPin* InInputPin, const UEdGraphPin* InOutputPin) const;
//~ Begin UEdGraphSchema
virtual void CreateDefaultNodesForGraph(UEdGraph& InGraph) const override;
virtual bool ArePinsCompatible(const UEdGraphPin* InPinA, const UEdGraphPin* InPinB, const UClass* InCallingContext = nullptr, bool bInIgnoreArray = false) const override;
virtual void GetGraphContextActions(FGraphContextMenuBuilder& InContextMenuBuilder) const override;
virtual void GetContextMenuActions(UToolMenu* InMenu, UGraphNodeContextMenuContext* InContext) const override;
virtual const FPinConnectionResponse CanCreateConnection(const UEdGraphPin* InSourcePin, const UEdGraphPin* InTargetPin) const override;
virtual FLinearColor GetPinTypeColor(const FEdGraphPinType& InPinType) const override;
virtual void GetGraphDisplayInformation(const UEdGraph& InGraph, FGraphDisplayInfo& OutDisplayInfo) const override;
//~ End UEdGraphSchema
};