Files
UnrealEngineUWP/Engine/Source/Developer/LogVisualizer/Private/VisualLoggerCameraController.h
phillip kavan b269276648 Convert serialized external actor/component references to weak ptrs in the debug camera controller so that they don't prevent GC.
#rb Ben.Zeigler
#preflight 6318e088ec45fbf3d7fb64cf

[CL 21920936 by phillip kavan in ue5-main branch]
2022-09-09 10:58:02 -04:00

42 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "Engine/EngineTypes.h"
#include "Engine/DebugCameraController.h"
#include "VisualLoggerCameraController.generated.h"
UCLASS(config=Input, hidedropdown)
class AVisualLoggerCameraController : public ADebugCameraController
{
public:
DECLARE_DELEGATE_OneParam(FActorSelectedDelegate, class AActor*);
DECLARE_DELEGATE_OneParam(FLogEntryIterationDelegate, int32);
GENERATED_UCLASS_BODY()
UPROPERTY()
TWeakObjectPtr<class AActor> PickedActor;
virtual void PostInitializeComponents() override;
static AVisualLoggerCameraController* EnableCamera(UWorld* InWorld);
static void DisableCamera(UWorld* InWorld);
static bool IsEnabled(UWorld* InWorld);
virtual void Select( FHitResult const& Hit ) override;
void ShowNextEntry();
void ShowPrevEntry();
static TWeakObjectPtr<AVisualLoggerCameraController> Instance;
FActorSelectedDelegate OnActorSelected;
FLogEntryIterationDelegate OnIterateLogEntries;
protected:
virtual void SetupInputComponent() override;
};