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

42 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "K2Node_ConstructObjectFromClass.h"
#include "UObject/ObjectMacros.h"
#include "UObject/UObjectGlobals.h"
#include "K2Node_GenericCreateObject.generated.h"
class FKismetCompilerContext;
class UEdGraph;
class UK2Node_CallFunction;
class UObject;
UCLASS()
class BLUEPRINTGRAPH_API UK2Node_GenericCreateObject : public UK2Node_ConstructObjectFromClass
{
GENERATED_BODY()
//~ Begin UEdGraphNode Interface.
virtual void ExpandNode(class FKismetCompilerContext& CompilerContext, UEdGraph* SourceGraph) override;
virtual void EarlyValidation(class FCompilerResultsLog& MessageLog) const override;
virtual bool IsCompatibleWithGraph(const UEdGraph* TargetGraph) const override;
//~ End UEdGraphNode Interface.
virtual bool UseWorldContext() const override { return false; }
virtual bool UseOuter() const override { return true; }
/**
* attaches a self node to the self pin of 'this' if the CallCreateNode function has DefaultToSelf in it's metadata
*
* @param CompilerContext the context to expand in - likely passed from ExpandNode
* @param SourceGraph the graph to expand in - likely passed from ExpandNode
* @param CallCreateNode the CallFunction node that 'this' is imitating
*
* @return true on success.
*/
bool ExpandDefaultToSelfPin(FKismetCompilerContext& CompilerContext, UEdGraph* SourceGraph, UK2Node_CallFunction* CallCreateNode);
};