Files
UnrealEngine/Engine/Source/Editor/BlueprintGraph/Classes/K2Node_TunnelBoundary.h
2025-05-18 13:04:45 +08:00

59 lines
1.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "EdGraph/EdGraphNode.h"
#include "HAL/Platform.h"
#include "Internationalization/Text.h"
#include "K2Node.h"
#include "KismetCompilerMisc.h"
#include "UObject/NameTypes.h"
#include "UObject/ObjectMacros.h"
#include "UObject/UObjectGlobals.h"
#include "K2Node_TunnelBoundary.generated.h"
class FKismetCompilerContext;
class UK2Node_Tunnel;
class UObject;
UENUM()
enum class ETunnelBoundaryType : uint8
{
Unknown = 0,
EntrySite,
InputSite,
OutputSite
};
UCLASS()
class BLUEPRINTGRAPH_API UK2Node_TunnelBoundary : public UK2Node
{
GENERATED_UCLASS_BODY()
/** Base Name */
UPROPERTY(Transient)
FName BaseName;
/** Node Type */
UPROPERTY(Transient)
ETunnelBoundaryType TunnelBoundaryType;
public:
//~ Begin UEdGraphNode Interface
virtual FText GetNodeTitle(ENodeTitleType::Type TitleType) const override;
//~ End UEdGraphNode Interface
//~ Begin K2Node Interface
virtual class FNodeHandlingFunctor* CreateNodeHandler(FKismetCompilerContext& CompilerContext) const override;
virtual int32 GetNodeRefreshPriority() const override { return EBaseNodeRefreshPriority::Low_UsesDependentWildcard; }
//~ End UK2Node Interface
/** Returns the type of tunnel boundary this node is */
ETunnelBoundaryType GetTunnelBoundaryType() const { return TunnelBoundaryType; }
/** Set node attributes based on the tunnel source node */
void SetNodeAttributes(const UK2Node_Tunnel* SourceNode);
};