// Copyright Epic Games, Inc. All Rights Reserved. #include "SmartObjectsModule.h" #include "Modules/ModuleManager.h" #include "SmartObjectTypes.h" #if WITH_GAMEPLAY_DEBUGGER && WITH_SMARTOBJECT_DEBUG #include "GameplayDebugger.h" #include "GameplayDebuggerCategory_SmartObject.h" #endif #define LOCTEXT_NAMESPACE "SmartObjects" class FSmartObjectsModule : public ISmartObjectsModule { virtual void StartupModule() override; virtual void ShutdownModule() override; }; IMPLEMENT_MODULE(FSmartObjectsModule, SmartObjectsModule) void FSmartObjectsModule::StartupModule() { #if WITH_GAMEPLAY_DEBUGGER && WITH_SMARTOBJECT_DEBUG IGameplayDebugger& GameplayDebuggerModule = IGameplayDebugger::Get(); GameplayDebuggerModule.RegisterCategory("SmartObject", IGameplayDebugger::FOnGetCategory::CreateStatic(&FGameplayDebuggerCategory_SmartObject::MakeInstance), EGameplayDebuggerCategoryState::EnabledInGameAndSimulate); GameplayDebuggerModule.NotifyCategoriesChanged(); #endif } void FSmartObjectsModule::ShutdownModule() { #if WITH_GAMEPLAY_DEBUGGER && WITH_SMARTOBJECT_DEBUG if (IGameplayDebugger::IsAvailable()) { IGameplayDebugger& GameplayDebuggerModule = IGameplayDebugger::Get(); GameplayDebuggerModule.UnregisterCategory("SmartObject"); GameplayDebuggerModule.NotifyCategoriesChanged(); } #endif } #undef LOCTEXT_NAMESPACE