| @ -0,0 +1,55 @@ | ||||
| #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; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user