lyra_game_ue/Source/LyraGame/Camera/LyraUICameraManagerComponent.h
Goran Lazarevski 3bcab085f8 Initial commit
2025-03-20 11:06:26 +01:00

46 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Camera/PlayerCameraManager.h"
#include "LyraUICameraManagerComponent.generated.h"
class ALyraPlayerCameraManager;
class AActor;
class AHUD;
class APlayerController;
class FDebugDisplayInfo;
class UCanvas;
class UObject;
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)
TObjectPtr<AActor> ViewTarget;
UPROPERTY(Transient)
bool bUpdatingViewTarget;
};