Files
UnrealEngineUWP/Engine/Source/Editor/BlueprintGraph/Classes/K2Node_AddComponent.h

76 lines
2.2 KiB
C++

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "K2Node_CallFunction.h"
#include "K2Node_AddComponent.generated.h"
UCLASS(MinimalAPI)
class UK2Node_AddComponent : public UK2Node_CallFunction
{
GENERATED_UCLASS_BODY()
UPROPERTY()
uint32 bHasExposedVariable:1;
/** The blueprint name we came from, so we can lookup the template after a paste */
UPROPERTY()
FString TemplateBlueprint;
// Begin UEdGraphNode interface
virtual void AllocateDefaultPins() override;
virtual void DestroyNode() override;
virtual void PrepareForCopying() override;
virtual void PostPasteNode() override;
virtual FText GetNodeTitle(ENodeTitleType::Type TitleType) const override;
virtual FString GetDocumentationLink() const override;
virtual FString GetDocumentationExcerptName() const override;
// End UEdGraphNode interface
// Begin K2Node interface
virtual UActorComponent* GetTemplateFromNode() const override;
virtual void ValidateNodeDuringCompilation(class FCompilerResultsLog& MessageLog) const override;
virtual void ReallocatePinsDuringReconstruction(TArray<UEdGraphPin*>& OldPins) override;
virtual class FNodeHandlingFunctor* CreateNodeHandler(class FKismetCompilerContext& CompilerContext) const override;
virtual void ExpandNode(class FKismetCompilerContext& CompilerContext, UEdGraph* SourceGraph) override;
// End of UK2Node interface
BLUEPRINTGRAPH_API void AllocateDefaultPinsWithoutExposedVariables();
BLUEPRINTGRAPH_API void AllocatePinsForExposedVariables();
UEdGraphPin* GetTemplateNamePinChecked() const
{
UEdGraphPin* FoundPin = GetTemplateNamePin();
check(FoundPin != NULL);
return FoundPin;
}
UEdGraphPin* GetRelativeTransformPin() const
{
return FindPinChecked(TEXT("RelativeTransform"));
}
UEdGraphPin* GetManualAttachmentPin() const
{
return FindPinChecked(TEXT("bManualAttachment"));
}
/** Static name of function to call */
static FName GetAddComponentFunctionName()
{
static const FName AddComponentFunctionName(GET_FUNCTION_NAME_CHECKED(AActor, AddComponent));
return AddComponentFunctionName;
}
private:
UEdGraphPin* GetTemplateNamePin() const
{
return FindPin(TEXT("TemplateName"));
}
const UClass* GetSpawnedType() const;
};