Setup input mapping in player controller

This commit is contained in:
Kevin Poretti 2023-06-10 19:23:21 -04:00
parent e38379586c
commit f31f0437e9
2 changed files with 22 additions and 2 deletions

View File

@ -5,16 +5,32 @@
// FF includes
#include "FFInputBufferComponent.h"
// UE includes
#include "EnhancedInputSubsystems.h"
AFFPlayerController::AFFPlayerController()
{
InputBuffer = CreateDefaultSubobject<UFFInputBufferComponent>(TEXT("InputBuffer"));
}
void AFFPlayerController::SendInputsToRemote() const
{
}
void AFFPlayerController::SetupInputComponent()
{
Super::SetupInputComponent();
if (ULocalPlayer* LocalPlayer = Cast<ULocalPlayer>(Player))
{
if (UEnhancedInputLocalPlayerSubsystem* InputSystem = LocalPlayer->GetSubsystem<UEnhancedInputLocalPlayerSubsystem>())
{
if (!DefaultInputMapping.IsNull())
{
InputSystem->AddMappingContext(DefaultInputMapping.LoadSynchronous(), 0);
}
}
}
}

View File

@ -2,9 +2,13 @@
#pragma once
// FF includes
#include "FFInputBufferComponent.h"
// UE includes
#include "CoreMinimal.h"
#include "GameFramework/PlayerController.h"
#include "InputMappingContext.h"
#include "FFPlayerController.generated.h"
@ -23,7 +27,7 @@ public:
/**
* Sends all unacknowledged inputs to the remote
*/
void SendInputsToRemote() const;
virtual void SendInputsToRemote() const;
// APlayerController interface
virtual void SetupInputComponent() override;
@ -32,7 +36,7 @@ public:
protected:
/** MappingContext */
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "UFF|Input", meta = (AllowPrivateAccess = "true"))
class UInputMappingContext* DefaultMappingContext;
TSoftObjectPtr<UInputMappingContext> DefaultInputMapping;
/** Input Buffer component */
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "UFF|Input", meta = (AllowPrivateAccess = "true"))