A Demo Project for the UnrealEngineSDK
Loading...
Searching...
No Matches
VRExpansionEditor.cpp
Go to the documentation of this file.
1// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.
2
3#include "VRExpansionEditor.h"
4#include "Editor/UnrealEdEngine.h"
5#include "UnrealEdGlobals.h"
7#include "PropertyEditorModule.h"
10
11
13
15{
16 RegisterComponentVisualizer(UHandSocketComponent::StaticClass()->GetFName(), MakeShareable(new FHandSocketVisualizer));
17
18 // Register detail customizations
19 {
20 auto& PropertyModule = FModuleManager::LoadModuleChecked< FPropertyEditorModule >("PropertyEditor");
21
22 // Register our customization to be used by a class 'UMyClass' or 'AMyClass'. Note the prefix must be dropped.
23 PropertyModule.RegisterCustomClassLayout(
24 UHandSocketComponent::StaticClass()->GetFName(),
25 FOnGetDetailCustomizationInstance::CreateStatic(&FHandSocketComponentDetails::MakeInstance)
26 );
27
28 PropertyModule.NotifyCustomizationModuleChanged();
29 }
30}
31
33{
34 if (GUnrealEd != NULL)
35 {
36 // Iterate over all class names we registered for
37 for (FName ClassName : RegisteredComponentClassNames)
38 {
39 GUnrealEd->UnregisterComponentVisualizer(ClassName);
40 }
41 }
42
43 if (FModuleManager::Get().IsModuleLoaded("PropertyEditor"))
44 {
45 auto& PropertyModule = FModuleManager::LoadModuleChecked<FPropertyEditorModule>("PropertyEditor");
46
47 PropertyModule.UnregisterCustomClassLayout(UHandSocketComponent::StaticClass()->GetFName());
48 }
49}
50
51void FVRExpansionEditorModule::RegisterComponentVisualizer(FName ComponentClassName, TSharedPtr<FComponentVisualizer> Visualizer)
52{
53 if (GUnrealEd != NULL)
54 {
55 GUnrealEd->RegisterComponentVisualizer(ComponentClassName, Visualizer);
56 }
57
58 RegisteredComponentClassNames.Add(ComponentClassName);
59
60 if (Visualizer.IsValid())
61 {
62 Visualizer->OnRegister();
63 }
64}
IMPLEMENT_MODULE(FVRExpansionEditorModule, VRExpansionEditor)
static TSharedRef< IDetailCustomization > MakeInstance()
virtual void ShutdownModule() override
virtual void StartupModule() override
TArray< FName > RegisteredComponentClassNames
void RegisterComponentVisualizer(FName ComponentClassName, TSharedPtr< FComponentVisualizer > Visualizer)