Files
UnrealEngineUWP/Engine/Source/Runtime/AIModule/Classes/VisualLoggerExtension.h
Mieszko Zielinski 938ae0d133 Minor VisLog code massaging
#rb trivial

[CL 16090557 by Mieszko Zielinski in ue5-main branch]
2021-04-22 05:02:08 -04:00

50 lines
1.5 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "UObject/Object.h"
#include "EngineDefines.h"
#include "VisualLogger/VisualLoggerTypes.h"
#include "VisualLoggerExtension.generated.h"
class AActor;
class UCanvas;
class UEQSRenderingComponent;
struct FLogEntryItem;
namespace EVisLogTags
{
const FString TAG_EQS = TEXT("LogEQS");
}
#if ENABLE_VISUAL_LOG
struct FVisualLogDataBlock;
struct FLogEntryItem;
class UCanvas;
class FVisualLoggerExtension : public FVisualLogExtensionInterface
{
public:
virtual void ResetData(IVisualLoggerEditorInterface* EdInterface) override;
virtual void DrawData(IVisualLoggerEditorInterface* EdInterface, UCanvas* Canvas) override;
virtual void OnItemsSelectionChanged(IVisualLoggerEditorInterface* EdInterface) override;
virtual void OnLogLineSelectionChanged(IVisualLoggerEditorInterface* EdInterface, TSharedPtr<struct FLogEntryItem> SelectedItem, int64 UserData) override;
private:
void DrawData(UWorld* InWorld, class UEQSRenderingComponent* EQSRenderingComponent, UCanvas* Canvas, AActor* HelperActor, const FName& TagName, const FVisualLogDataBlock& DataBlock, float Timestamp);
void DisableEQSRendering(AActor* HelperActor);
protected:
int32 SelectedEQSId = INDEX_NONE;
float CurrentTimestamp = FLT_MIN;
TArray<TWeakObjectPtr<class UEQSRenderingComponent> > EQSRenderingComponents;
};
#endif //ENABLE_VISUAL_LOG
UCLASS(Abstract)
class AIMODULE_API UVisualLoggerExtension : public UObject
{
GENERATED_BODY()
};