Files
UnrealEngineUWP/Engine/Source/Developer/LogVisualizer/Private/LogVisualizer.h
sebastian kowalczyk 18e05d9c84 Added EQS Logging to Visual Logger #ue4
[CL 2256107 by sebastian kowalczyk in Main branch]
2014-08-14 09:13:50 -04:00

65 lines
1.4 KiB
C++

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "VisualLog.h"
#if ENABLE_VISUAL_LOG
class FVisualLog;
struct FActorsVisLog;
/** Actual implementation of LogVisualizer, private inside module */
class FLogVisualizer : public ILogVisualizer
{
public:
virtual void SummonUI(UWorld* InWorld) override;
virtual void CloseUI(UWorld* InWorld) override;
virtual bool IsOpenUI(UWorld* InWorld) override;
virtual bool IsRecording();
// End ILogVisualizer interface
/** Change the current recording state */
void SetIsRecording(bool bNewRecording);
FLogVisualizer()
{
}
virtual ~FLogVisualizer()
{
CleanUp();
}
DECLARE_EVENT( FLogVisualizer, FVisLogsChangedEvent );
FVisLogsChangedEvent& OnLogAdded() { return LogAddedEvent; }
void CleanUp();
void PullDataFromVisualLog(const FVisualLog& VisualLog);
int32 GetLogIndexForActor(const class AActor* Actor);
void AddLoadedLog(TSharedPtr<FActorsVisLog> Log);
UWorld* GetWorld() { return World.Get(); }
virtual class AActor* GetHelperActor(class UWorld* InWorld);
protected:
void OnNewLog(const class AActor* Actor, TSharedPtr<FActorsVisLog> Log);
public:
/** All hosted logs */
TArray<TSharedPtr<FActorsVisLog> > Logs;
private:
/** Event called when a new log is created */
FVisLogsChangedEvent LogAddedEvent;
TWeakObjectPtr<UWorld> World;
TWeakPtr<SWindow> LogWindow;
TWeakObjectPtr<class ALogVisualizerDebugActor> DebugActor;
};
#endif //ENABLE_VISUAL_LOG