56 lines
1.7 KiB
C++
56 lines
1.7 KiB
C++
#include "CSUnrealSharpSettings.h"
|
|
|
|
UCSUnrealSharpSettings::UCSUnrealSharpSettings()
|
|
{
|
|
CategoryName = "Plugins";
|
|
}
|
|
|
|
#if WITH_EDITOR
|
|
void UCSUnrealSharpSettings::PreEditChange(FProperty* PropertyAboutToChange)
|
|
{
|
|
Super::PreEditChange(PropertyAboutToChange);
|
|
|
|
if (PropertyAboutToChange->GetFName() == GET_MEMBER_NAME_CHECKED(UCSUnrealSharpSettings, bEnableNamespaceSupport))
|
|
{
|
|
OldValueOfNamespaceSupport = bEnableNamespaceSupport;
|
|
}
|
|
}
|
|
|
|
void UCSUnrealSharpSettings::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
|
|
{
|
|
Super::PostEditChangeProperty(PropertyChangedEvent);
|
|
|
|
if (PropertyChangedEvent.Property)
|
|
{
|
|
const FName PropertyName = PropertyChangedEvent.Property->GetFName();
|
|
if (PropertyName == GET_MEMBER_NAME_CHECKED(UCSUnrealSharpSettings, bEnableNamespaceSupport))
|
|
{
|
|
bRecentlyChangedNamespaceSupport = true;
|
|
|
|
FText Message = FText::FromString(
|
|
TEXT("Namespace support settings have been updated. A restart is required for the changes to take effect.\n\n"
|
|
"WARNING: This experimental feature will break existing Blueprints derived from C# classes due to changes in the outermost package when restarting the engine.\n\n"
|
|
"Press 'Cancel' to revert these changes.")
|
|
);
|
|
|
|
if (FMessageDialog::Open(EAppMsgType::OkCancel, Message) == EAppReturnType::Cancel)
|
|
{
|
|
bEnableNamespaceSupport = OldValueOfNamespaceSupport;
|
|
bRecentlyChangedNamespaceSupport = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endif
|
|
|
|
bool UCSUnrealSharpSettings::HasNamespaceSupport() const
|
|
{
|
|
if (bRecentlyChangedNamespaceSupport)
|
|
{
|
|
// Keep returning the old value until we have restarted the editor
|
|
return OldValueOfNamespaceSupport;
|
|
}
|
|
|
|
return bEnableNamespaceSupport;
|
|
}
|