Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //ACoopPuzzleGamePlayerController.h
- CLASS()
- class ACoopPuzzleGamePlayerController : public APlayerController
- {
- GENERATED_BODY()
- public:
- ACoopPuzzleGamePlayerController();
- virtual void BeginPlay() override;
- protected:
- virtual void SetupInputComponent() override;
- protected:
- // Reference to the pawn
- class ACoopPuzzleGameCharacter* myCharacter;
- ///// Input Actions //////
- UFUNCTION(BlueprintCallable, Category = "Input")
- void MoveForward(float Value);
- UFUNCTION(BlueprintCallable, Category = "Input")
- void MoveRight(float Value);
- UFUNCTION(BlueprintCallable, Category = "Inputs")
- void FaceButtonBottom();
- ///// Input Actions //////
- };
- //ACoopPuzzleGamePlayerController.cpp
- ACoopPuzzleGamePlayerController::ACoopPuzzleGamePlayerController()
- {
- DefaultMouseCursor = EMouseCursor::Crosshairs;
- }
- void ACoopPuzzleGamePlayerController::BeginPlay()
- {
- Super::BeginPlay();
- // Get reference to the character controllerd by this player controller
- APawn* const pawn = GetPawn();
- if (pawn != nullptr)
- {
- myCharacter = Cast<ACoopPuzzleGameCharacter>(pawn);
- }
- }
- // Setup input controller
- void ACoopPuzzleGamePlayerController::SetupInputComponent()
- {
- Super::SetupInputComponent();
- // Input controller
- InputComponent->BindAxis("MoveForward", this, &ACoopPuzzleGamePlayerController::MoveForward);
- InputComponent->BindAxis("MoveRight", this, &ACoopPuzzleGamePlayerController::MoveRight);
- }
- void ACoopPuzzleGamePlayerController::MoveForward(float Value)
- {
- if (Value == 0.0f) return;
- // The character is in charge of moving the mesh not the player controller
- if (myCharacter != nullptr)
- {
- myCharacter->MoveForward(Value);
- }
- }
- void ACoopPuzzleGamePlayerController::MoveRight(float Value)
- {
- if (Value == 0.0f) return;
- // The character is in charge of moving the mesh not the player controller
- if (myCharacter != nullptr)
- {
- myCharacter->MoveRight(Value);
- }
- }
- void ACoopPuzzleGamePlayerController::FaceButtonBottom()
- {
- if (myCharacter != nullptr)
- {
- myCharacter->HandleInteractInput();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement