1.4 KiB
1.4 KiB
Deprecated
- 功能描述: 标识该FRigUnit为弃用状态,不在蓝图右键菜单中显示。
- 使用位置: USTRUCT
- 引擎模块: RigVMStruct
- 元数据类型: bool
- 限制类型: FRigUnit类型上
- 常用程度: ★★
标识该FRigUnit为弃用状态,不在蓝图右键菜单中显示。
但如果之前已经在蓝图中使用了,则还是可以继续使用。
注意这个时候要相应的实现GetUpgradeInfo(),否则会报错。
测试代码:
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的节点。
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;
}
}
}