Files
UnrealEngine/Engine/Source/Editor/GameplayDebugger/Public/GameplayDebuggerEdMode.h
2025-05-18 13:04:45 +08:00

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);
};