48 lines
1.2 KiB
C++
48 lines
1.2 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "Camera/PlayerCameraManager.h"
|
|
#include "UObject/UObjectGlobals.h"
|
|
|
|
#include "LyraPlayerCameraManager.generated.h"
|
|
|
|
class FDebugDisplayInfo;
|
|
class UCanvas;
|
|
class UObject;
|
|
|
|
|
|
#define LYRA_CAMERA_DEFAULT_FOV (80.0f)
|
|
#define LYRA_CAMERA_DEFAULT_PITCH_MIN (-89.0f)
|
|
#define LYRA_CAMERA_DEFAULT_PITCH_MAX (89.0f)
|
|
|
|
class ULyraUICameraManagerComponent;
|
|
|
|
/**
|
|
* ALyraPlayerCameraManager
|
|
*
|
|
* The base player camera manager class used by this project.
|
|
*/
|
|
UCLASS(notplaceable, MinimalAPI)
|
|
class ALyraPlayerCameraManager : public APlayerCameraManager
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
|
|
ALyraPlayerCameraManager(const FObjectInitializer& ObjectInitializer);
|
|
|
|
ULyraUICameraManagerComponent* GetUICameraComponent() const;
|
|
|
|
protected:
|
|
|
|
virtual void UpdateViewTarget(FTViewTarget& OutVT, float DeltaTime) override;
|
|
|
|
virtual void DisplayDebug(UCanvas* Canvas, const FDebugDisplayInfo& DebugDisplay, float& YL, float& YPos) override;
|
|
|
|
private:
|
|
/** The UI Camera Component, controls the camera when UI is doing something important that gameplay doesn't get priority over. */
|
|
UPROPERTY(Transient)
|
|
TObjectPtr<ULyraUICameraManagerComponent> UICamera;
|
|
};
|