// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "GameFramework/PlayerController.h" #include "ShooterPlayerController.generated.h" struct FInputActionValue; class UInputMappingContext; class UInputAction; DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnPlayerStateReplicated); /** * */ UCLASS() class FPSTEMPLATE_API AShooterPlayerController : public APlayerController { GENERATED_BODY() public: AShooterPlayerController(); bool bPawnAlive; virtual void OnPossess(APawn* InPawn) override; virtual void OnRep_PlayerState() override; UPROPERTY(BlueprintAssignable) FOnPlayerStateReplicated OnPlayerStateReplicated; protected: virtual void BeginPlay() override; virtual void SetupInputComponent() override; private: UPROPERTY(EditAnywhere, Category="Input") TObjectPtr ShooterIMC; UPROPERTY(EditAnywhere, Category="Input") TObjectPtr MoveAction; UPROPERTY(EditAnywhere, Category="Input") TObjectPtr LookAction; UPROPERTY(EditAnywhere, Category="Input") TObjectPtr CrouchAction; UPROPERTY(EditAnywhere, Category="Input") TObjectPtr JumpAction; void Input_Move(const FInputActionValue& InputActionValue); void Input_Look(const FInputActionValue& InputActionValue); void Input_Crouch(); void Input_Jump(); };