// © 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 UICameraComponent = nullptr; };