2022-05-23 18:41:30 +00:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "Camera/PlayerCameraManager.h"
|
2022-09-13 07:18:28 +00:00
|
|
|
#include "Components/ActorComponent.h"
|
|
|
|
#include "Misc/AssertionMacros.h"
|
|
|
|
#include "UObject/UObjectGlobals.h"
|
2022-05-23 18:41:30 +00:00
|
|
|
|
|
|
|
#include "LyraUICameraManagerComponent.generated.h"
|
|
|
|
|
2022-09-13 07:18:28 +00:00
|
|
|
class AActor;
|
2022-05-23 18:41:30 +00:00
|
|
|
class AHUD;
|
2022-09-13 07:18:28 +00:00
|
|
|
class APlayerController;
|
|
|
|
class FDebugDisplayInfo;
|
2022-05-23 18:41:30 +00:00
|
|
|
class UCanvas;
|
2022-09-13 07:18:28 +00:00
|
|
|
class UObject;
|
2022-05-23 18:41:30 +00:00
|
|
|
|
|
|
|
UCLASS( Transient, Within=LyraPlayerCameraManager )
|
|
|
|
class ULyraUICameraManagerComponent : public UActorComponent
|
|
|
|
{
|
|
|
|
GENERATED_BODY()
|
|
|
|
|
|
|
|
public:
|
|
|
|
static ULyraUICameraManagerComponent* GetComponent(APlayerController* PC);
|
|
|
|
|
|
|
|
public:
|
|
|
|
ULyraUICameraManagerComponent();
|
|
|
|
virtual void InitializeComponent() override;
|
|
|
|
|
|
|
|
bool IsSettingViewTarget() const { return bUpdatingViewTarget; }
|
|
|
|
AActor* GetViewTarget() const { return ViewTarget; }
|
|
|
|
void SetViewTarget(AActor* InViewTarget, FViewTargetTransitionParams TransitionParams = FViewTargetTransitionParams());
|
|
|
|
|
|
|
|
bool NeedsToUpdateViewTarget() const;
|
|
|
|
void UpdateViewTarget(struct FTViewTarget& OutVT, float DeltaTime);
|
|
|
|
|
|
|
|
void OnShowDebugInfo(AHUD* HUD, UCanvas* Canvas, const FDebugDisplayInfo& DisplayInfo, float& YL, float& YPos);
|
|
|
|
|
|
|
|
private:
|
|
|
|
UPROPERTY(Transient)
|
2022-09-13 07:18:28 +00:00
|
|
|
TObjectPtr<AActor> ViewTarget;
|
2022-05-23 18:41:30 +00:00
|
|
|
|
|
|
|
UPROPERTY(Transient)
|
|
|
|
bool bUpdatingViewTarget;
|
|
|
|
};
|