Files
UnrealEngineUWP/Engine/Source/Developer/LogVisualizer/Private/VisualLoggerRenderingActor.h
stefan-zimecki dacb624752 PR #8661: [VisualLogger] Added filter volume support to the Visual Logger (Contributed by stefan-zimecki)
Modifications/additions to the PR:
+ replaced usage of FEditorDelegates::EndPie by FGameDelegates::EndPlayMap so the game world tear down is completed and we can udpate the new current world in the same way we do on PostPieStarted
+ fixed FVisualLogEntry constructor to properly initialize members when an invalid actor is provided
+ added refresh for in world primitives on row visibility changes (e.g. adding/moving/deleting a filter volume)

#jira UE-135731
#preflight 61d5f3b54c252480ca1dbdba

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18523387 in //UE5/Release-5.0/... via CL 18523393
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18523406 by stefan-zimecki in ue5-release-engine-test branch]
2022-01-05 14:50:50 -05:00

43 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "VisualLoggerRenderingActorBase.h"
#include "VisualLoggerRenderingActor.generated.h"
// enable adding some hard coded shapes to the VisualLoggerRenderingActor for testing
#define VLOG_TEST_DEBUG_RENDERING 0
class UPrimitiveComponent;
struct FVisualLoggerDBRow;
/**
* Transient actor used to draw visual logger data on level
*/
DECLARE_MULTICAST_DELEGATE_OneParam(FOnSelectionChanged, class AActor*);
UCLASS(config = Engine, NotBlueprintable, Transient, notplaceable, AdvancedClassDisplay)
class LOGVISUALIZER_API AVisualLoggerRenderingActor : public AVisualLoggerRenderingActorBase
{
public:
GENERATED_UCLASS_BODY()
virtual ~AVisualLoggerRenderingActor();
void ResetRendering();
void ObjectVisibilityChanged(const FName& RowName);
void ObjectSelectionChanged(const TArray<FName>& Selection);
void OnItemSelectionChanged(const FVisualLoggerDBRow& BDRow, int32 ItemIndex);
virtual void IterateDebugShapes(TFunction<void(const FTimelineDebugShapes&) > Callback) override;
private:
void OnFiltersChanged();
TArray<FName> CachedRowSelection;
TMap<FName, FTimelineDebugShapes> DebugShapesPerRow;
#if VLOG_TEST_DEBUG_RENDERING
void AddDebugRendering();
FTimelineDebugShapes TestDebugShapes;
#endif
};