{ "943": "BT 组合任务的基类。", "944": "所有 BehaviorTree 组合任务的基类。你可以通过继承 BTComposite 类来创建自己的组合任务。", "945": "组合任务(Composite)是 BehaviorTree 中的一种控制任务,包含一个或多个子任务。它通过规定子任务的执行方式,定义 BehaviorTree 的结构与流程。组合任务可以把相关任务归组为一个单元,让 BehaviorTree 更易管理和维护。BehaviorTree 组合任务的例子包括 BTSelector、BTSequence 和 BTParallel。", "946": "BTCondition", "947": "被继承:BTCheckAgentProperty、BTCheckTrigger、BTCheckVar", "948": "BT 条件的基类。", "949": "所有 BehaviorTree 条件的基类。你可以通过继承 BTCondition 类来创建自己的条件。", "950": "条件(Condition)是 BehaviorTree 中的一种任务,它在执行后续任务之前检查特定条件。条件常用于组合任务内部以控制执行流程,用来验证环境状态、检查敌人是否存在,或评估智能体的生命值状态。在 BehaviorTree 中使用条件任务可以提高系统效率并避免不必要的动作。不过,它们可能不适合复杂的决策过程,而且条件任务过多会让 BehaviorTree 难以阅读。", "951": "条件通常不需要多个 tick 就能完成,会立即返回 <1/> 或 <2/>。", "952": "BTConsolePrint", "953": "向控制台输出文本的 BT 动作任务。", "954": "BTConsolePrint 动作会向控制台输出文本并返回 <1/>。它可以包含类似于 GDScript % 运算符的格式化参数占位符。", "955": "bb_format_parameters", "956": "text", "957": "<1/> bb_format_parameters = <2/> 🔗", "958": "<1/> set_bb_format_parameters(value: <2/>)", "959": "<1/> get_bb_format_parameters()", "960": "格式化参数的值会作为将要打印文本的格式化实参。", "961": "注意:返回的数组是副本,对它的任何修改都不会更新原始属性值。更多细节见 <1/>。", "962": "<1/> text = <2/> 🔗", "963": "<1/> set_text(value: <2/>)", "964": "<1/> get_text()", "965": "要打印的文本,可以包含多个占位符,用于替换为格式化实参。这些占位符遵循与 GDScript % 运算符相同的格式,通常以 ‘%’ 开头并后接格式说明符。例如:%s 表示字符串,%d 表示整数,%f 表示实数。", "966": "BTCooldown", "967": "只有距上次执行已过去 duration 时间时,才执行其子任务的 BT 装饰器。", "968": "只有距上次子任务成功执行已过去 duration 时间时,BTCooldown 才运行其子任务。除非把 trigger_on_failure 设为 <3/>,否则它只考虑成功的执行。", "969": "如果子任务结果为 <2/>,返回 <1/>。", "970": "如果子任务结果为 <2/>,返回 <1/>,并触发冷却计时器。", "971": "如果子任务结果为 <2/>,或者距上次执行尚未过去 duration 时间,返回 <1/>。", "972": "cooldown_state_var", "973": "duration", "974": "process_pause", "975": "start_cooled", "976": "trigger_on_failure", "977": "<1/> cooldown_state_var = <2/> 🔗", "978": "<1/> set_cooldown_state_var(value: <2/>)", "979": "<1/> get_cooldown_state_var()", "980": "用于在 Blackboard 中存储冷却状态的布尔变量。如果留空,该变量会被自动生成并赋值。", "981": "如果该变量的值被设为 <1/>,表示冷却已激活。此特性可用于从树的其他部分检查冷却状态,或在 BehaviorTree 的不同部分之间共享它。", "982": "<1/> duration = <2/> 🔗", "983": "<1/> set_duration(value: <2/>)", "984": "<1/> get_duration()", "985": "允许下一次执行子任务之前需要等待的时间。", "986": "<1/> process_pause = <2/> 🔗", "987": "<1/> set_process_pause(value: <2/>)", "988": "<1/> get_process_pause()", "989": "如果为 <1/>,则在 <2/> 暂停时也处理冷却。", "990": "<1/> start_cooled = <2/> 🔗", "991": "<1/> set_start_cooled(value: <2/>)", "992": "<1/> get_start_cooled()", "993": "如果为 <1/>,则像子任务在第一次 BT tick 之前已执行过一样开始冷却。", "994": "<1/> trigger_on_failure = <2/> 🔗", "995": "<1/> set_trigger_on_failure(value: <2/>)", "996": "<1/> get_trigger_on_failure()", "997": "如果为 <1/>,当子任务结果为 <2/> 时也会激活冷却。否则,只有子任务结果为 <3/> 时才会触发冷却。", "998": "BTDecorator", "999": "被继承:BTAlwaysFail、BTAlwaysSucceed、BTCooldown、BTDelay、BTForEach、BTInvert、BTNewScope、BTProbability、BTRepeat、BTRepeatUntilFailure、BTRepeatUntilSuccess、BTRunLimit、BTTimeLimit", "1000": "BT 装饰器的基类。", "1001": "所有 BehaviorTree 装饰器的基类。你可以通过继承 BTDecorator 类来创建自己的装饰器。", "1002": "装饰器是 BehaviorTree 中用于改变其子任务行为的一种任务。装饰器只能拥有一个子任务。", "1003": "装饰器可以为任务的执行添加条件、限制或其他约束。BehaviorTree 装饰器的例子包括 BTInvert、BTRepeat 和 BTCooldown。使用 BehaviorTree 装饰器可以为现有任务添加额外逻辑,从而简化复杂行为的设计与实现。", "1004": "BTDelay", "1005": "在执行其子任务之前引入延迟的 BT 装饰器。", "1006": "BTDelay 在执行其子任务之前引入 seconds 的延迟。在延迟期间返回 <2/>。", "1007": "seconds", "1008": "<1/> seconds = <2/> 🔗", "1009": "<1/> set_seconds(value: <2/>)", "1010": "<1/> get_seconds()", "1011": "延迟时长(秒)。", "1012": "BTDynamicSelector", "1013": "继承:BTComposite < BTTask < BT", "1014": "每个 tick 都从头执行任务、直到出现第一个 <1/> 的 BT 组合任务。", "1015": "BTDynamicSelector 按顺序从第一个到最后一个执行子任务,直到任一子任务返回 <1/>。与 BTSelector 不同,它每个 tick 都会从头开始执行任务,重新评估它们的状态。当你希望每个 tick 都重试更高优先级的行为时,它非常有用。", "1016": "如果某个子任务结果为 <2/>,返回 <1/>。BTDynamicSelector 会记住最后一个 <3/> 的子任务,但与 BTSequence 不同,在下一个执行 tick 中它会重新执行之前的任务并重新评估它们的返回状态。如果之前的任一任务没有返回 <5/>,它会中止所记住的那个 <6/> 任务。", "1017": "如果所有子任务结果都为 <2/>,返回 <1/>。", "1018": "如果某个子任务结果为 <2/>,返回 <1/>。", "1019": "BTDynamicSequence", "1020": "每个 tick 都从头执行任务、只要它们返回 <1/> 就继续的 BT 组合任务。", "1021": "BTDynamicSequence 按顺序从第一个到最后一个执行子任务,只要它们返回 <1/> 就继续。与 BTSequence 不同,它每个 tick 都会从头开始执行任务,重新评估它们的状态。当你希望在每个 tick 都重新检查某个长时间运行动作之前的条件,并在任一条件结果为 <4/> 时中止那个 <3/> 动作时,它非常有用。", "1022": "如果某个子任务结果为 <2/>,返回 <1/>。BTDynamicSequence 会记住最后一个 <3/> 的子任务,但与 BTSequence 不同,在下一个执行 tick 中它会重新执行之前的任务并重新评估它们的返回状态。如果之前的任一任务没有返回 <5/>,它会中止所记住的那个 <6/> 任务。", "1023": "如果某个子任务结果为 <2/>,返回 <1/>。", "1024": "如果所有子任务结果都为 <2/>,返回 <1/>。", "1025": "BTEvaluateExpression", "1026": "在指定的 <2/> 或 <3/> 上求值 <1/> 的 BT 动作。", "1027": "BTEvaluateExpression 动作会在指定的 <2/> 或 <3/> 实例上求值 expression_string,当 <5/> 执行成功时返回 <4/>。", "1028": "如果该动作在 <2/> 解析或执行期间遇到问题,则返回 <1/>。", "1029": "expression_string", "1030": "input_include_delta", "1031": "input_names", "1032": "input_values", "1033": "node", "1034": "result_var", "1035": "Error", "1036": "parse()", "1037": "<1/> expression_string = <2/> 🔗", "1038": "<1/> set_expression_string(value: <2/>)", "1039": "<1/> get_expression_string()", "1040": "要解析并执行的表达式字符串。", "1041": "警告:更新 expression_string 后请调用 parse 来更新内部的 <3/>,因为它不会自动更新。", "1042": "<1/> input_include_delta = <2/> 🔗", "1043": "<1/> set_input_include_delta(value: <2/>)", "1044": "<1/> is_input_delta_included()", "1045": "如果启用,输入变量 <1/> 会被加入 input_names 和 input_values。", "1046": "警告:切换 input_include_delta 后请调用 parse 来更新内部的 <3/>,因为它不会自动更新。", "1047": "<1/> input_names = <2/> 🔗", "1048": "<1/> set_input_names(value: <2/>)", "1049": "<1/> get_input_names()", "1050": "expression_string 中的变量名列表,用户将通过 input_values 为这些变量提供值。", "1051": "警告:更新 input_names 后请调用 parse 来更新内部的 <3/>,因为它不会自动更新。", "1052": "Array[BBVariant] input_values = <2/> 🔗", "1053": "<1/> set_input_values(value: Array[BBVariant])", "1054": "Array[BBVariant] get_input_values()", "1055": "input_names 中指定变量对应的值列表。这些值通过数组索引与变量一一对应。", "1056": "BBNode node 🔗", "1057": "<1/> result_var = <2/> 🔗", "1058": "Error parse() 🔗", "1059": "在考虑 input_include_delta 和 input_names 的前提下调用 Expression.parse,并返回其错误码。", "1060": "BTFail", "1061": "总是返回 <1/> 的 BT 动作。", "1062": "BTForEach", "1063": "针对 <1/> 的每个元素执行其子任务的 BT 装饰器。", "1064": "BTForEach 针对 <1/> 的每个元素执行其子任务。在每次迭代中,当前元素会被存入指定的 Blackboard 变量中。", "1065": "如果子任务结果为 <2/>,或者子任务在非最后一次迭代中结果为 <3/>,则返回 <1/>。", "1066": "如果子任务结果为 <2/>,返回 <1/>。", "1067": "如果子任务在最后一次迭代中结果为 <2/>,返回 <1/>。", "1068": "array_var", "1069": "save_var", "1070": "<1/> array_var = <2/> 🔗", "1071": "<1/> set_array_var(value: <2/>)", "1072": "<1/> get_array_var()", "1073": "Blackboard 中存放 <2/> 的变量,用于迭代过程。" }