Files
UnrealEngineUWP/Engine/Plugins/Runtime/SmartObjects/Source/SmartObjectsModule/Private/SmartObjectsModule.cpp
yoan stamant fd369f0235 [SmartObject] added extra redirectors for some structs
#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18801932 via CL 18802340 via CL 18802417 via CL 18803198 via CL 18821580
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18821662 by yoan stamant in ue5-main branch]
2022-02-02 01:49:20 -05:00

65 lines
3.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "SmartObjectsModule.h"
#include "Modules/ModuleManager.h"
#include "SmartObjectTypes.h"
#include "UObject/CoreRedirects.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()
{
TArray<FCoreRedirect> Redirects;
Redirects.Emplace(ECoreRedirectFlags::Type_Class, TEXT("/Script/SmartObjectsModule.SmartObjectBehaviorConfigBase"), TEXT("/Script/SmartObjectsModule.SmartObjectBehaviorDefinition"));
Redirects.Emplace(ECoreRedirectFlags::Type_Class, TEXT("/Script/SmartObjectsModule.SmartObjectGameplayBehaviorConfig"), TEXT("/Script/SmartObjectsModule.SmartObjectGameplayBehaviorDefinition"));
Redirects.Emplace(ECoreRedirectFlags::Type_Struct, TEXT("/Script/SmartObjectsModule.SmartObjectSlot"), TEXT("/Script/SmartObjectsModule.SmartObjectSlotDefinition"));
Redirects.Emplace(ECoreRedirectFlags::Type_Struct, TEXT("SmartObjectSlot"), TEXT("/Script/SmartObjectsModule.SmartObjectSlotDefinition"));
Redirects.Emplace(ECoreRedirectFlags::Type_Struct, TEXT("/Script/SmartObjectsModule.SmartObjectID"), TEXT("/Script/SmartObjectsModule.SmartObjectHandle"));
Redirects.Emplace(ECoreRedirectFlags::Type_Struct, TEXT("SmartObjectID"), TEXT("/Script/SmartObjectsModule.SmartObjectHandle"));
Redirects.Emplace(ECoreRedirectFlags::Type_Property, TEXT("/Script/SmartObjectsModule.SmartObjectDefinition.DefaultBehaviorConfigurations"), TEXT("/Script/SmartObjectsModule.SmartObjectDefinition.DefaultBehaviorDefinitions"));
Redirects.Emplace(ECoreRedirectFlags::Type_Property, TEXT("/Script/SmartObjectsModule.SmartObjectRequestFilter.BehaviorConfigurationClass"), TEXT("/Script/SmartObjectsModule.SmartObjectRequestFilter.BehaviorDefinitionClass"));
Redirects.Emplace(ECoreRedirectFlags::Type_Property, TEXT("/Script/SmartObjectsModule.SmartObjectSlot.BehaviorConfigurations"), TEXT("/Script/SmartObjectsModule.SmartObjectSlot.BehaviorDefinitions"));
Redirects.Emplace(ECoreRedirectFlags::Type_Property, TEXT("/Script/SmartObjectsModule.SmartObjectComponent.RegisteredID"), TEXT("/Script/SmartObjectsModule.SmartObjectComponent.RegisteredHandle"));
Redirects.Emplace(ECoreRedirectFlags::Type_Property, TEXT("/Script/SmartObjectsModule.SmartObjectCollectionEntry.ID"), TEXT("/Script/SmartObjectsModule.SmartObjectCollectionEntry.Handle"));
FCoreRedirects::AddRedirectList(Redirects, TEXT("SmartObjectsModule"));
#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