Files
unrealtest/Source/first/Variant_Horror/HorrorPlayerController.h
T
2026-08-02 22:34:52 +03:00

63 lines
1.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/PlayerController.h"
#include "HorrorPlayerController.generated.h"
class UInputMappingContext;
class UHorrorUI;
/**
* Player Controller for a first person horror game
* Manages input mappings
* Manages UI
*/
UCLASS(abstract)
class FIRST_API AHorrorPlayerController : public APlayerController
{
GENERATED_BODY()
protected:
/** Type of UI widget to spawn */
UPROPERTY(EditAnywhere, Category="Horror|UI")
TSubclassOf<UHorrorUI> HorrorUIClass;
/** Pointer to the UI widget */
TObjectPtr<UHorrorUI> HorrorUI;
public:
/** Constructor */
AHorrorPlayerController();
protected:
/** Input Mapping Contexts */
UPROPERTY(EditAnywhere, Category ="Input|Input Mappings")
TArray<UInputMappingContext*> DefaultMappingContexts;
/** Input Mapping Contexts */
UPROPERTY(EditAnywhere, Category="Input|Input Mappings")
TArray<UInputMappingContext*> MobileExcludedMappingContexts;
/** Mobile controls widget to spawn */
UPROPERTY(EditAnywhere, Category="Input|Touch Controls")
TSubclassOf<UUserWidget> MobileControlsWidgetClass;
/** Pointer to the mobile controls widget */
TObjectPtr<UUserWidget> MobileControlsWidget;
/** Gameplay Initialization */
virtual void BeginPlay() override;
/** Possessed pawn initialization */
virtual void OnPossess(APawn* aPawn) override;
/** Input mapping context setup */
virtual void SetupInputComponent() override;
};