60 lines
1.4 KiB
Markdown
60 lines
1.4 KiB
Markdown
|
# Deprecated
|
|||
|
|
|||
|
- **功能描述:** 标识该FRigUnit为弃用状态,不在蓝图右键菜单中显示。
|
|||
|
- **使用位置:** USTRUCT
|
|||
|
- **引擎模块:** RigVMStruct
|
|||
|
- **元数据类型:** bool
|
|||
|
- **限制类型:** FRigUnit类型上
|
|||
|
- **常用程度:** ★★
|
|||
|
|
|||
|
标识该FRigUnit为弃用状态,不在蓝图右键菜单中显示。
|
|||
|
|
|||
|
但如果之前已经在蓝图中使用了,则还是可以继续使用。
|
|||
|
|
|||
|
注意这个时候要相应的实现GetUpgradeInfo(),否则会报错。
|
|||
|
|
|||
|
## 测试代码:
|
|||
|
|
|||
|
```cpp
|
|||
|
USTRUCT(meta = (DisplayName = "MyRigDeprecated",Deprecated))
|
|||
|
struct INSIDER_API FRigUnit_MyRigDeprecated : public FRigUnit
|
|||
|
{
|
|||
|
GENERATED_BODY()
|
|||
|
|
|||
|
RIGVM_METHOD()
|
|||
|
virtual void Execute() override;
|
|||
|
|
|||
|
RIGVM_METHOD()
|
|||
|
virtual FRigVMStructUpgradeInfo GetUpgradeInfo() const override;
|
|||
|
public:
|
|||
|
UPROPERTY(meta = (Input))
|
|||
|
float MyFloat_Input = 123.f;
|
|||
|
|
|||
|
UPROPERTY(meta = (Output))
|
|||
|
float MyFloat_Output = 123.f;
|
|||
|
};
|
|||
|
```
|
|||
|
|
|||
|
## 测试效果:
|
|||
|
|
|||
|

|
|||
|
|
|||
|
## 原理:
|
|||
|
|
|||
|
在构建菜单项的时候略过Deprecated的节点。
|
|||
|
|
|||
|
```cpp
|
|||
|
void FRigVMEditorModule::GetTypeActions(URigVMBlueprint* RigVMBlueprint, FBlueprintActionDatabaseRegistrar& ActionRegistrar)
|
|||
|
{
|
|||
|
// Add all rig units
|
|||
|
for(const FRigVMFunction& Function : Registry.GetFunctions())
|
|||
|
{
|
|||
|
// skip deprecated units
|
|||
|
if(Function.Struct->HasMetaData(FRigVMStruct::DeprecatedMetaName))
|
|||
|
{
|
|||
|
continue;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
```
|