Files
UnrealEngineUWP/Engine/Plugins/EnhancedInput/Source/InputBlueprintNodes/Private/K2Node_InputActionValueAccessor.cpp
ben hoffman c7049eb4f6 First pass of making Enhanced Input use TObjectPtr instead of raw pointers.
#jira UE-144847
#rb trivial
#preflight 622bd51bcd605bd993dd19af
#rnx

[CL 19363291 by ben hoffman in ue5-main branch]
2022-03-11 18:24:18 -05:00

52 lines
1.7 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "K2Node_InputActionValueAccessor.h"
#include "EnhancedInputActionDelegateBinding.h"
#include "EnhancedInputLibrary.h"
UK2Node_InputActionValueAccessor::UK2Node_InputActionValueAccessor(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
}
void UK2Node_InputActionValueAccessor::Initialize(const UInputAction* Action)
{
InputAction = Action;
SetFromFunction(UEnhancedInputLibrary::StaticClass()->FindFunctionByName(GET_FUNCTION_NAME_CHECKED(UEnhancedInputLibrary, GetBoundActionValue)));
}
void UK2Node_InputActionValueAccessor::AllocateDefaultPins()
{
Super::AllocateDefaultPins();
UEdGraphPin* InputActionPin = FindPinChecked(TEXT("Action"));
InputActionPin->DefaultObject = const_cast<UInputAction*>(ToRawPtr(InputAction));
}
UClass* UK2Node_InputActionValueAccessor::GetDynamicBindingClass() const
{
return UEnhancedInputActionValueBinding::StaticClass();
}
void UK2Node_InputActionValueAccessor::RegisterDynamicBinding(UDynamicBlueprintBinding* BindingObject) const
{
UEnhancedInputActionValueBinding* InputActionBindingObject = CastChecked<UEnhancedInputActionValueBinding>(BindingObject);
FBlueprintEnhancedInputActionBinding Binding;
Binding.InputAction = InputAction;
Binding.FunctionNameToBind = GET_FUNCTION_NAME_CHECKED(UEnhancedInputLibrary, GetBoundActionValue);
InputActionBindingObject->InputActionValueBindings.Add(Binding);
}
// TODO: Do we care about unique signatures per input action?
//
//FBlueprintNodeSignature UK2Node_InputActionValueAccessor::GetSignature() const
//{
// FBlueprintNodeSignature NodeSignature = Super::GetSignature();
// NodeSignature.AddKeyValue(InputAction->GetFName().ToString());
//
// return NodeSignature;
//}