vault backup: 2024-10-12 17:19:45
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
# DeprecatedNode
|
||||
|
||||
- **功能描述:** 用于BehaviorTreeNode或EnvQueryNode,说明该类已废弃,在编辑器中红色错误展示并有错误ToolTip提示
|
||||
- **使用位置:** UCLASS
|
||||
- **引擎模块:** DetailsPanel
|
||||
- **元数据类型:** bool
|
||||
- **限制类型:** BehaviorTreeNode,EnvQueryNode
|
||||
- **常用程度:** ★★
|
||||
|
||||
在AI行为树或EQS的节点上设置,标记该节点已经弃用。
|
||||
|
||||
## 源码中的例子:
|
||||
|
||||
```cpp
|
||||
UCLASS(meta = (DeprecatedNode, DeprecationMessage = "Please use IsAtLocation decorator instead."), MinimalAPI)
|
||||
class UBTDecorator_ReachedMoveGoal : public UBTDecorator
|
||||
{
|
||||
GENERATED_UCLASS_BODY()
|
||||
};
|
||||
|
||||
UCLASS(MinimalAPI, meta=(DeprecatedNode, DeprecationMessage = "This class is now deprecated, please use RunMode supporting random results instead."))
|
||||
class UEnvQueryTest_Random : public UEnvQueryTest
|
||||
{
|
||||
GENERATED_UCLASS_BODY()
|
||||
};
|
||||
```
|
||||
|
||||
## C++测试代码:
|
||||
|
||||
```cpp
|
||||
UCLASS(meta = (DeprecatedNode, DeprecationMessage = "This BT node is deprecated. Don't use this anymore."), MinimalAPI)
|
||||
class UBTTask_MyDeprecatedNode : public UBTTaskNode
|
||||
{
|
||||
GENERATED_UCLASS_BODY()
|
||||
};
|
||||
```
|
||||
|
||||
行为树里的结果,如果加上DeprecatedNode,就会红色显示,并提示错误信息。
|
||||
|
||||

|
||||
|
||||
## 源码里测试的代码:
|
||||
|
||||
```cpp
|
||||
FString FGraphNodeClassHelper::GetDeprecationMessage(const UClass* Class)
|
||||
{
|
||||
static FName MetaDeprecated = TEXT("DeprecatedNode");
|
||||
static FName MetaDeprecatedMessage = TEXT("DeprecationMessage");
|
||||
FString DefDeprecatedMessage("Please remove it!");
|
||||
FString DeprecatedPrefix("DEPRECATED");
|
||||
FString DeprecatedMessage;
|
||||
|
||||
if (Class && Class->HasAnyClassFlags(CLASS_Native) && Class->HasMetaData(MetaDeprecated))
|
||||
{
|
||||
DeprecatedMessage = DeprecatedPrefix + TEXT(": ");
|
||||
DeprecatedMessage += Class->HasMetaData(MetaDeprecatedMessage) ? Class->GetMetaData(MetaDeprecatedMessage) : DefDeprecatedMessage;
|
||||
}
|
||||
|
||||
return DeprecatedMessage;
|
||||
}
|
||||
```
|
Binary file not shown.
After Width: | Height: | Size: 130 KiB |
Reference in New Issue
Block a user