24 #include "K2Node_AddPinInterface.h"
26 #include "BPNode_Mechanic.generated.h"
28 UCLASS(BlueprintType, Blueprintable)
31 public IK2Node_AddPinInterface
33 GENERATED_UCLASS_BODY()
39 int32 NumNotTypes = 0;
52 int32 ExcludedTypesCount = 0;
57 static const FName EvaluationBodyPinName;
62 static const FName CompletedPinName;
67 static const FName SubjectivePinName;
72 static const FString TypePinNamePrefix;
77 static const FString ExcludedTypePinNamePrefix;
82 static const FString DetailPinNamePrefix;
85 virtual void AllocateDefaultPins()
override;
87 virtual FLinearColor GetNodeTitleColor()
const override;
90 EarlyValidation(
class FCompilerResultsLog &MessageLog)
const override;
92 virtual void ExpandNode(
class FKismetCompilerContext &CompilerContext,
93 UEdGraph *SourceGraph)
override;
95 virtual FText GetNodeTitle(ENodeTitleType::Type TitleType)
const override;
97 virtual FText GetTooltipText()
const override;
99 virtual void PinConnectionListChanged(UEdGraphPin *ChangedPin)
override;
101 virtual void PinDefaultValueChanged(UEdGraphPin *ChangedPin)
override;
103 virtual void PostReconstructNode()
override;
107 virtual FText GetMenuCategory()
const override;
109 virtual void GetMenuActions(
110 FBlueprintActionDatabaseRegistrar &ActionRegistrar)
const override;
112 virtual void GetNodeContextMenuActions(
113 class UToolMenu *Menu,
114 class UGraphNodeContextMenuContext *Context)
const override;
118 virtual void AddInputPin()
override;
121 virtual ERedirectType DoPinsMatchForReconstruction(
122 const UEdGraphPin* NewPin, int32 NewPinIndex,
const UEdGraphPin* OldPin,
123 int32 OldPinIndex)
const override;
125 virtual void AddExcludedInputPin();
127 virtual void InteractiveAddInputPin();
129 virtual void InteractiveAddExcludedInputPin();
131 virtual void RemoveTypePin(
const int32 Index);
133 virtual void RemoveTypePin(UEdGraphPin *Pin);
135 virtual void RemoveExcludedTypePin(UEdGraphPin *Pin);
137 virtual void InteractiveRemoveTypePin(UEdGraphPin* TypePin);
139 virtual void InteractiveRemoveExcludedTypePin(UEdGraphPin* ExcludedTypePin);
141 virtual bool IsConnectedToEvent(
const FName EventName)
const;
143 virtual bool IsBoot()
const;
145 virtual bool IsSteady()
const;
147 virtual UEdGraphPin *GetEvaluationBodyPin()
const;
149 virtual UEdGraphPin *GetCompletedPin()
const;
151 virtual UEdGraphPin *GetSubjectPin()
const;
153 virtual UEdGraphPin *GetTypePinGivenIndex(
const int32 Index)
const;
155 virtual UEdGraphPin *GetExcludedTypePinGivenIndex(
const int32 Index)
const;
157 virtual UEdGraphPin *GetDetailPinGivenIndex(
const int32 Index)
const;
159 virtual UClass *GetTypePinType(UEdGraphPin *Pin)
const;
161 virtual UClass *GetExcludedTypePinType(UEdGraphPin *Pin)
const;
163 virtual UClass *GetDetailPinType(UEdGraphPin *Pin)
const;
165 virtual FName GetTypePinName(
const int32 Index)
const;
167 virtual FName GetExcludedTypePinName(
const int32 Index)
const;
169 virtual FName GetDetailPinName(
const int32 Index)
const;
171 virtual int32 GetTypePinIndex(
const UEdGraphPin *Pin)
const;
173 virtual int32 GetExcludedTypePinIndex(
const UEdGraphPin *Pin)
const;
175 virtual int32 GetDetailPinIndex(
const UEdGraphPin *Pin)
const;
177 virtual bool IsTypePin(
const UEdGraphPin *Pin)
const;
179 virtual bool IsExcludedTypePin(
const UEdGraphPin *Pin)
const;
181 virtual bool IsDetailPin(
const UEdGraphPin *Pin)
const;
183 virtual void OnTypePinChanged(UEdGraphPin *ChangedPin);
185 virtual void OnExcludedTypePinChanged(UEdGraphPin *ChangedPin);
192 virtual bool SyncPinNames();
194 virtual void UpdateTypePinUI(UEdGraphPin *Pin);
196 virtual void UpdateExcludedTypePinUI(UEdGraphPin *Pin);
198 virtual void UpdateDetailPinUI(UEdGraphPin *Pin);
200 virtual bool HasValidBlueprintSelf()
const;
Definition: BPNode_Mechanic.h:32