From 928c32c262abd913c957f338a8a1fc8d6ded535e Mon Sep 17 00:00:00 2001 From: Marcel Krueger <krueger@vis.rwth-aachen.de> Date: Tue, 2 Jan 2024 12:30:57 +0100 Subject: [PATCH] refactor(pawn): Changes InputMappingContexts to array of IMCs --- Content/Pawn/BP_RWTHVRPawn_Default.uasset | Bin 53210 -> 54694 bytes .../RWTHVRToolkit/Private/Pawn/RWTHVRPawn.cpp | 12 ++++++++++-- Source/RWTHVRToolkit/Public/Pawn/RWTHVRPawn.h | 5 +---- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Content/Pawn/BP_RWTHVRPawn_Default.uasset b/Content/Pawn/BP_RWTHVRPawn_Default.uasset index 97b68c3ad42d2a9760b785f4e0cf9cf4391d6e34..7bcca686b189d765bd7476bf9ffb1ee4bd0ade71 100644 GIT binary patch literal 54694 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 LUlZ0|2B`-C_L<o1 delta 15609 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 diff --git a/Source/RWTHVRToolkit/Private/Pawn/RWTHVRPawn.cpp b/Source/RWTHVRToolkit/Private/Pawn/RWTHVRPawn.cpp index f31909fe..bb90198d 100644 --- a/Source/RWTHVRToolkit/Private/Pawn/RWTHVRPawn.cpp +++ b/Source/RWTHVRToolkit/Private/Pawn/RWTHVRPawn.cpp @@ -78,9 +78,13 @@ void ARWTHVRPawn::NotifyControllerChanged() // If we are also the authority (standalone or listen server), directly attach it to us. // If we are not (client), ask the server to do it. if (HasAuthority()) + { AttachDCRAtoPawn(); + } else + { ServerAttachDCRAtoPawnRpc(); + } } } } @@ -135,8 +139,10 @@ void ARWTHVRPawn::SetupPlayerInputComponent(UInputComponent* PlayerInputComponen } // bind the current mapping contexts - AddInputMappingContext(PlayerController, CurrentGeneralInputMappingContext); - AddInputMappingContext(PlayerController, CurrentMovementInputMappingContext); + for (const auto& Mapping : InputMappingContexts) + { + AddInputMappingContext(PlayerController, Mapping); + } } void ARWTHVRPawn::AddInputMappingContext(const APlayerController* PC, const UInputMappingContext* Context) const @@ -183,7 +189,9 @@ void ARWTHVRPawn::EvaluateLivelink() const HeadSubjectRepresentation.Role, SubjectData); if (!bHasValidData) + { return; + } // Assume we are using a Transform Role to track the components! This is a slightly dangerous assumption, and // could be further improved. diff --git a/Source/RWTHVRToolkit/Public/Pawn/RWTHVRPawn.h b/Source/RWTHVRToolkit/Public/Pawn/RWTHVRPawn.h index 9f676d11..ca774d37 100644 --- a/Source/RWTHVRToolkit/Public/Pawn/RWTHVRPawn.h +++ b/Source/RWTHVRToolkit/Public/Pawn/RWTHVRPawn.h @@ -32,10 +32,7 @@ public: virtual void NotifyControllerChanged() override; UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Pawn|Input") - UInputMappingContext* CurrentGeneralInputMappingContext; - - UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Pawn|Input") - UInputMappingContext* CurrentMovementInputMappingContext; + TArray<UInputMappingContext*> InputMappingContexts; UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Pawn|MotionControllers") UMotionControllerComponent* RightHand; -- GitLab