#include "PawnEditorModule.h" #include "PwnStyle.h" #include "Customization/PwnInteractableActorCustomization.h" #include "Interaction/PwnInteractableActor.h" #include "Modules/ModuleManager.h" IMPLEMENT_MODULE(FPawnEditorModule, PawnEditor) void FPawnEditorModule::StartupModule() { FPwnStyle::Initialize(); FPropertyEditorModule& PropertyModule = FModuleManager::LoadModuleChecked("PropertyEditor"); PropertyModule.RegisterCustomPropertyTypeLayout(FPwnInteractableActor::StaticStruct()->GetFName(), FOnGetPropertyTypeCustomizationInstance::CreateStatic( &UPwnInteractableActorCustomization::MakeInstance)); PropertyModule.NotifyCustomizationModuleChanged(); } void FPawnEditorModule::ShutdownModule() { FPwnStyle::Shutdown(); if (FModuleManager::Get().IsModuleLoaded("PropertyEditor")) { FPropertyEditorModule& PropertyModule = FModuleManager::GetModuleChecked("PropertyEditor"); PropertyModule.UnregisterCustomPropertyTypeLayout(FPwnInteractableActor::StaticStruct()->GetFName()); PropertyModule.NotifyCustomizationModuleChanged(); } }