70 lines
1.9 KiB
C++
70 lines
1.9 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.
|
|
|
|
|
|
#include "Camera/Components/OLSUICameraManagerComponent.h"
|
|
|
|
#include "Camera/OLSPlayerCameraManager.h"
|
|
#include "GameFramework/HUD.h"
|
|
|
|
#include UE_INLINE_GENERATED_CPP_BY_NAME(OLSUICameraManagerComponent)
|
|
|
|
UOLSUICameraManagerComponent* UOLSUICameraManagerComponent::GetComponent(APlayerController* playerController)
|
|
{
|
|
if (playerController)
|
|
{
|
|
if (AOLSPlayerCameraManager* playerCamera = Cast<AOLSPlayerCameraManager>(playerController->PlayerCameraManager))
|
|
{
|
|
return playerCamera->GetUICameraComponent();
|
|
}
|
|
}
|
|
|
|
return nullptr;
|
|
}
|
|
|
|
UOLSUICameraManagerComponent::UOLSUICameraManagerComponent()
|
|
{
|
|
bWantsInitializeComponent = true;
|
|
|
|
if (!HasAnyFlags(RF_ClassDefaultObject))
|
|
{
|
|
// Register "showdebug" hook.
|
|
if (!IsRunningDedicatedServer())
|
|
{
|
|
AHUD::OnShowDebugInfo.AddUObject(this, &ThisClass::OnShowDebugInfo);
|
|
}
|
|
}
|
|
}
|
|
|
|
bool UOLSUICameraManagerComponent::IsSettingViewTarget() const
|
|
{
|
|
return bShouldUpdatingViewTarget;
|
|
}
|
|
|
|
AActor* UOLSUICameraManagerComponent::GetViewTarget() const
|
|
{
|
|
return ViewTarget;
|
|
}
|
|
|
|
void UOLSUICameraManagerComponent::SetViewTarget(AActor* viewTarget, FViewTargetTransitionParams transitionParams)
|
|
{
|
|
TGuardValue<bool> UpdatingViewTargetGuard(bShouldUpdatingViewTarget, true);
|
|
|
|
ViewTarget = viewTarget;
|
|
CastChecked<AOLSPlayerCameraManager>(GetOwner())->SetViewTarget(ViewTarget, transitionParams);
|
|
}
|
|
|
|
bool UOLSUICameraManagerComponent::NeedsToUpdateViewTarget() const
|
|
{
|
|
return false;
|
|
}
|
|
|
|
void UOLSUICameraManagerComponent::UpdateViewTarget(FTViewTarget& outVT, float deltaTime)
|
|
{
|
|
}
|
|
|
|
void UOLSUICameraManagerComponent::OnShowDebugInfo(AHUD* hud, UCanvas* canvas,
|
|
const FDebugDisplayInfo& displayInfo,
|
|
float& yl, float& yPos)
|
|
{
|
|
}
|