41 lines
1.2 KiB
C++
41 lines
1.2 KiB
C++
// © 2024 Long Ly. All rights reserved. Any unauthorized use, reproduction, or distribution of this trademark is strictly prohibited and may result in legal action.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Camera/PlayerCameraManager.h"
|
|
#include "OLSPlayerCameraManager.generated.h"
|
|
|
|
#define OLS_CAMERA_DEFAULT_FOV (80.0f)
|
|
#define OLS_CAMERA_DEFAULT_PITCH_MIN (-89.0f)
|
|
#define OLS_CAMERA_DEFAULT_PITCH_MAX (89.0f)
|
|
|
|
/**
|
|
* AOLSPlayerCameraManager
|
|
*
|
|
* The base player camera manager class used by this project.
|
|
*/
|
|
UCLASS(NotPlaceable, MinimalAPI)
|
|
class AOLSPlayerCameraManager : public APlayerCameraManager
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
|
|
public:
|
|
|
|
AOLSPlayerCameraManager(const FObjectInitializer& objectInitializer);
|
|
|
|
class UOLSUICameraManagerComponent* 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()
|
|
TObjectPtr<class UOLSUICameraManagerComponent> UICameraComponent = nullptr;
|
|
};
|