38 lines
1.1 KiB
C++
38 lines
1.1 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
|
|
#include "InputCoreTypes.h"
|
|
#include "EditorModes.h"
|
|
#include "EdMode.h"
|
|
#include "EditorViewportClient.h"
|
|
|
|
class FGameplayDebuggerEdMode : public FEdMode
|
|
{
|
|
public:
|
|
FGameplayDebuggerEdMode() : FocusedViewport(nullptr) {}
|
|
|
|
// FEdMode interface
|
|
virtual bool UsesToolkits() const override { return true; }
|
|
virtual void Enter() override;
|
|
virtual void Exit() override;
|
|
virtual bool ReceivedFocus(FEditorViewportClient* ViewportClient, FViewport* Viewport) override;
|
|
virtual bool LostFocus(FEditorViewportClient* ViewportClient, FViewport* Viewport) override;
|
|
virtual bool InputKey(FEditorViewportClient* InViewportClient, FViewport* InViewport, FKey InKey, EInputEvent InEvent) override;
|
|
virtual void Tick(FEditorViewportClient* ViewportClient, float DeltaTime);
|
|
// End of FEdMode interface
|
|
|
|
static void SafeOpenMode();
|
|
static void SafeCloseMode();
|
|
|
|
static const FName EM_GameplayDebugger;
|
|
|
|
private:
|
|
FEditorViewportClient* FocusedViewport;
|
|
bool bPrevGAreScreenMessagesEnabled;
|
|
|
|
void EnableViewportClientFlags(FEditorViewportClient* ViewportClient, bool bEnable);
|
|
};
|