You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- Moved the code originally in a Editor/ folder into its own GameplayDebuggerEditor module and added it so it get dynamically loaded in the editor - Added some delegates so GameplayDebugger code can communicate to GameplayDebuggerEditor without referencing it. As only GameplayDebuggerEditor should reference GameplayDebugger, not the opposite. #preflight https://horde.devtools.epicgames.com/job/637808462a05dabce95c5b9e [REVIEW] https://p4-swarm.epicgames.net/reviews/23207203 [FYI] guillaume.morreel, andrew.ladenberger [CL 23258875 by guillaume guay in ue5-main branch]
60 lines
2.8 KiB
C++
60 lines
2.8 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "GameplayDebuggerEditorModule.h"
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "EditorModeManager.h"
|
|
#include "EditorModeRegistry.h"
|
|
#include "Engine/World.h"
|
|
#include "GameplayDebugger.h"
|
|
#include "GameplayDebuggerCategoryConfigCustomization.h"
|
|
#include "GameplayDebuggerEdMode.h"
|
|
#include "GameplayDebuggerExtensionConfigCustomization.h"
|
|
#include "GameplayDebuggerInputConfigCustomization.h"
|
|
#include "GameplayDebuggerModule.h"
|
|
#include "PropertyEditorModule.h"
|
|
|
|
IMPLEMENT_MODULE(FGameplayDebuggerEditorModule, GameplayDebuggerEditor)
|
|
|
|
void FGameplayDebuggerEditorModule::StartupModule()
|
|
{
|
|
FGameplayDebuggerModule::OnLocalControllerInitialized.AddRaw(this, &FGameplayDebuggerEditorModule::OnLocalControllerInitialized);
|
|
FGameplayDebuggerModule::OnLocalControllerUninitialized.AddRaw(this, &FGameplayDebuggerEditorModule::OnLocalControllerUninitialized);
|
|
FGameplayDebuggerModule::OnDebuggerEdModeActivation.AddRaw(this, &FGameplayDebuggerEditorModule::OnDebuggerEdModeActivation);
|
|
|
|
FPropertyEditorModule& PropertyEditorModule = FModuleManager::GetModuleChecked<FPropertyEditorModule>("PropertyEditor");
|
|
PropertyEditorModule.RegisterCustomPropertyTypeLayout("GameplayDebuggerCategoryConfig", FOnGetPropertyTypeCustomizationInstance::CreateStatic(&FGameplayDebuggerCategoryConfigCustomization::MakeInstance));
|
|
PropertyEditorModule.RegisterCustomPropertyTypeLayout("GameplayDebuggerExtensionConfig", FOnGetPropertyTypeCustomizationInstance::CreateStatic(&FGameplayDebuggerExtensionConfigCustomization::MakeInstance));
|
|
PropertyEditorModule.RegisterCustomPropertyTypeLayout("GameplayDebuggerInputConfig", FOnGetPropertyTypeCustomizationInstance::CreateStatic(&FGameplayDebuggerInputConfigCustomization::MakeInstance));
|
|
|
|
FEditorModeRegistry::Get().RegisterMode<FGameplayDebuggerEdMode>(FGameplayDebuggerEdMode::EM_GameplayDebugger);
|
|
}
|
|
|
|
void FGameplayDebuggerEditorModule::ShutdownModule()
|
|
{
|
|
FPropertyEditorModule* PropertyEditorModule = FModuleManager::GetModulePtr<FPropertyEditorModule>("PropertyEditor");
|
|
if (PropertyEditorModule)
|
|
{
|
|
PropertyEditorModule->UnregisterCustomPropertyTypeLayout("GameplayDebuggerCategoryConfig");
|
|
PropertyEditorModule->UnregisterCustomPropertyTypeLayout("GameplayDebuggerExtensionConfig");
|
|
PropertyEditorModule->UnregisterCustomPropertyTypeLayout("GameplayDebuggerInputConfig");
|
|
}
|
|
|
|
FEditorModeRegistry::Get().UnregisterMode(FGameplayDebuggerEdMode::EM_GameplayDebugger);
|
|
}
|
|
|
|
void FGameplayDebuggerEditorModule::OnDebuggerEdModeActivation()
|
|
{
|
|
GLevelEditorModeTools().ActivateMode(FGameplayDebuggerEdMode::EM_GameplayDebugger);
|
|
}
|
|
|
|
void FGameplayDebuggerEditorModule::OnLocalControllerInitialized()
|
|
{
|
|
FGameplayDebuggerEdMode::SafeOpenMode();
|
|
}
|
|
|
|
void FGameplayDebuggerEditorModule::OnLocalControllerUninitialized()
|
|
{
|
|
FGameplayDebuggerEdMode::SafeCloseMode();
|
|
}
|