Files
UnrealEngineUWP/Engine/Source/Developer/LogVisualizer/Private/LogVisualizer.h
Daniel Broder 9f50173ccf Merging using UE4-Fortnite-To-UE4 from CL 2236347
Unshelved this merge from Stephan and then completed the merge with additional fixes and testing.

Hand fixed some WorldExp compile issues due to changes to OnPaint() signature.

#Integration

[CL 2245992 by Daniel Broder in Main branch]
2014-08-06 16:12:41 -04:00

62 lines
1.3 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(); }
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;
};
#endif //ENABLE_VISUAL_LOG