Files
UnrealEngine/Engine/Plugins/Editor/EngineAssetDefinitions/Source/Private/AssetDefinition_UserDefinedStruct.cpp
2025-05-18 13:04:45 +08:00

39 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "AssetDefinition_UserDefinedStruct.h"
#include "BlueprintEditorModule.h"
#include "Kismet2/StructureEditorUtils.h"
#include "Modules/ModuleManager.h"
#define LOCTEXT_NAMESPACE "UAssetDefinition_UserDefinedStruct"
EAssetCommandResult UAssetDefinition_UserDefinedStruct::OpenAssets(const FAssetOpenArgs& OpenArgs) const
{
if (FStructureEditorUtils::UserDefinedStructEnabled())
{
FBlueprintEditorModule& BlueprintEditorModule = FModuleManager::LoadModuleChecked<FBlueprintEditorModule>( "Kismet" );
for (UUserDefinedStruct* UDStruct : OpenArgs.LoadObjects<UUserDefinedStruct>())
{
BlueprintEditorModule.CreateUserDefinedStructEditor(OpenArgs.GetToolkitMode(), OpenArgs.ToolkitHost, UDStruct);
}
}
return EAssetCommandResult::Handled;
}
FText UAssetDefinition_UserDefinedStruct::GetAssetDescription(const FAssetData& AssetData) const
{
FString Description = AssetData.GetTagValueRef<FString>("Tooltip");
if (!Description.IsEmpty())
{
Description.ReplaceInline(TEXT("\\n"), TEXT("\n"));
return FText::FromString(MoveTemp(Description));
}
return FText::GetEmpty();
}
#undef LOCTEXT_NAMESPACE