58 lines
1.5 KiB
Markdown
Raw Normal View History

2024-10-12 17:19:46 +08:00
# MenuDescSuffix
- **功能描述:** 标识FRigUnit在蓝图右键菜单项的名字后缀。
- **使用位置:** USTRUCT
- **引擎模块:** RigVMStruct
- **元数据类型:** bool
- **限制类型:** FRigUnit类型上
- **常用程度:** ★★★
标识FRigUnit在蓝图右键菜单项的名字后缀。
## 测试代码:
```cpp
USTRUCT(meta = (DisplayName = "MyRigSuffix", MenuDescSuffix = "(MyVector)"))
struct INSIDER_API FRigUnit_MyRigSuffix: public FRigUnit
{
GENERATED_BODY()
RIGVM_METHOD()
virtual void Execute() override;
public:
UPROPERTY(meta = (Input))
float MyFloat_Input = 123.f;
UPROPERTY(meta = (Output))
float MyFloat_Output = 123.f;
};
```
## 测试效果:
可见出现了"(MyVector)"的后缀。
![Untitled](Untitled.png)
## 原理:
得到该数据然后添加到DisplayName后面。
```cpp
FString CategoryMetadata, DisplayNameMetadata, MenuDescSuffixMetadata;
Struct->GetStringMetaDataHierarchical(FRigVMStruct::CategoryMetaName, &CategoryMetadata);
Struct->GetStringMetaDataHierarchical(FRigVMStruct::DisplayNameMetaName, &DisplayNameMetadata);
Struct->GetStringMetaDataHierarchical(FRigVMStruct::MenuDescSuffixMetaName, &MenuDescSuffixMetadata);
if(DisplayNameMetadata.IsEmpty())
{
DisplayNameMetadata = Struct->GetDisplayNameText().ToString();
}
if (!MenuDescSuffixMetadata.IsEmpty())
{
MenuDescSuffixMetadata = TEXT(" ") + MenuDescSuffixMetadata;
}
FText MenuDesc = FText::FromString(DisplayNameMetadata + MenuDescSuffixMetadata);
```