{ "460": "LimboAI 类型化参数的基类。", "461": "LimboAI 类型化参数的基类,既可以引用 Blackboard 变量,也可以直接保存某个 Variant.Type 类型的原始值。", "462": "注意:不要直接实例化,请改用具体的子类型。", "463": "saved_value", "464": "ValueSource", "465": "value_source", "466": "variable", "467": "Variant.Type", "468": "get_type() <2/>", "469": "get_value(scene_root: <2/>, blackboard: Blackboard, default: <4/> = null)", "470": "enum ValueSource: 🔗", "471": "ValueSource SAVED_VALUE = <2/>", "472": "值直接存储在 BBParam 资源中。", "473": "ValueSource BLACKBOARD_VAR = <2/>", "474": "值通过变量名引用,并从 Blackboard 中获取。变量名存储在 BBParam 资源中。", "475": "<1/> saved_value = <2/> 🔗", "476": "<1/> set_saved_value(value: <2/>)", "477": "<1/> get_saved_value()", "478": "当 value_source 设为 SAVED_VALUE 时,用于存储参数值。值的类型由 get_type 决定。", "479": "ValueSource value_source = <2/> 🔗", "480": "<1/> set_value_source(value: ValueSource)", "481": "ValueSource get_value_source()", "482": "指定 BBParam 取值的来源。见 ValueSource。", "483": "<1/> variable 🔗", "484": "<1/> set_variable(value: <2/>)", "485": "<1/> get_variable()", "486": "当 value_source 设为 BLACKBOARD_VAR 时,存储 Blackboard 变量的名称。", "487": "Variant.Type get_type() <1/> 🔗", "488": "返回该参数预期的数据类型。", "489": "<1/> get_value(scene_root: <2/>, blackboard: Blackboard, default: <4/> = null) 🔗", "490": "返回该参数的值。", "491": "LimboState", "492": "被继承:BTState、LimboHSM", "493": "用于分层状态机(HSM)的状态节点。", "494": "LimboAI 中用于分层状态机(HSM)的状态节点。", "495": "你可以通过继承这个类来编写自己的状态行为。要实现状态逻辑,可以重写 _enter、_exit、_setup 和 _update。或者,你也可以用 <5/> 方法把状态实现委托给外部方法。", "496": "关于状态机的更多细节,请参阅 LimboHSM。", "497": "EVENT_FINISHED", "498": "agent", "499": "blackboard", "500": "blackboard_plan", "501": "_enter() <2/>", "502": "_exit() <2/>", "503": "_setup() <2/>", "504": "_update(delta: <2/>) <3/>", "505": "add_event_handler(event: <2/>, handler: <3/>)", "506": "LimboState", "507": "call_on_enter(callable: <2/>)", "508": "call_on_exit(callable: <2/>)", "509": "call_on_update(callable: <2/>)", "510": "clear_guard()", "511": "dispatch(event: <2/>, cargo: <3/> = null)", "512": "get_root() <2/>", "513": "is_active() <2/>", "514": "named(name: <2/>)", "515": "set_guard(guard_callable: <2/>)", "516": "entered() 🔗", "517": "当状态被进入时发出。", "518": "exited() 🔗", "519": "当状态被退出时发出。", "520": "setup() 🔗", "521": "当状态被初始化时发出。", "522": "updated(delta: <1/>) 🔗", "523": "当状态被更新时发出。", "524": "<1/> EVENT_FINISHED 🔗", "525": "<1/> event_finished()", "526": "一个常用事件,表示状态已经完成其工作。", "527": "<1/> agent 🔗", "528": "与该状态关联的智能体,在初始化时赋值。", "529": "Blackboard blackboard 🔗", "530": "该状态所属状态机中各状态共享的键值数据存储。", "531": "BlackboardPlan blackboard_plan 🔗", "532": "<1/> _enter() <2/> 🔗", "533": "当状态被进入时调用。", "534": "<1/> _exit() <2/> 🔗", "535": "当状态被退出时调用。这会在转换到另一个状态时发生,也会在状态机从场景树中被移除时发生(例如节点被 Node.queue_free 释放或场景切换)。由于实现细节,_exit 不会在调用 Object.free 时被执行!", "536": "<1/> _setup() <2/> 🔗", "537": "在初始化期间被调用一次。用这个方法初始化你的状态。", "538": "<1/> _update(delta: <2/>) <3/> 🔗", "539": "在更新期间调用。用这个方法实现你状态的行为。", "540": "<1/> add_event_handler(event: <2/>, handler: <3/>) 🔗", "541": "注册一个 <1/>,在 <2/> 被派发时调用。处理函数应具有以下签名:", "542": "如果处理函数返回 <1/>,事件将被消费。Cargo 是可选参数,可以传给处理函数。另见 dispatch。", "543": "LimboState call_on_enter(callable: <2/>) 🔗", "544": "链式方法,把 entered 信号连接到一个 <2/>。", "545": "LimboState call_on_exit(callable: <2/>) 🔗", "546": "链式方法,把 exited 信号连接到一个 <2/>。", "547": "LimboState call_on_update(callable: <2/>) 🔗", "548": "链式方法,把 updated 信号连接到一个 <2/>。", "549": "<1/> clear_guard() 🔗", "550": "清除守卫函数,移除之前由 set_guard 设置的 <1/>。", "551": "<1/> dispatch(event: <2/>, cargo: <3/> = null) 🔗", "552": "递归派发一个名为 <1/> 的状态机事件,可选参数为 <2/>。如果事件被消费则返回 <3/>。", "553": "事件会从叶状态向根状态传播,一旦某个状态消费了该事件,传播就会停止。如果状态有相关的转换或事件处理器,它就会消费该事件。关于事件处理器的更多信息,见 add_event_handler。", "554": "LimboState get_root() <2/> 🔗", "555": "返回根 LimboState。", "556": "<1/> is_active() <2/> 🔗", "557": "如果当前处于活动状态(即它是父级 LimboHSM 的活动子状态),则返回 <1/>。", "558": "LimboState named(name: <2/>) 🔗", "559": "用于设置此状态名称的链式方法。", "560": "<1/> set_guard(guard_callable: <2/>) 🔗", "561": "设置守卫(guard)函数,每当考虑转换到该状态时都会调用它。如果该函数返回 <1/>,该转换将被禁止。", "562": "LimboHSM", "563": "继承:LimboState", "564": "基于事件的分层状态机(HSM)。", "565": "基于事件的分层状态机(HSM),用于管理 LimboState 实例并处理它们之间的转换。LimboHSM 本身就是一个 LimboState,也可以作为另一个 LimboHSM 节点的子节点。", "566": "LimboState", "567": "ANYSTATE", "568": "initial_state", "569": "UpdateMode", "570": "update_mode", "571": "add_transition(from_state: LimboState, to_state: LimboState, event: <4/>, guard: <5/> = Callable())", "572": "change_active_state(state: LimboState)", "573": "get_active_state() <2/>", "574": "get_leaf_state() <2/>", "575": "get_previous_active_state() <2/>", "576": "has_transition(from_state: LimboState, event: <3/>) <4/>", "577": "initialize(agent: <2/>, parent_scope: Blackboard = null)", "578": "remove_transition(from_state: LimboState, event: <3/>)", "579": "set_active(active: <2/>)", "580": "update(delta: <2/>)", "581": "active_state_changed(current: LimboState, previous: LimboState) 🔗", "582": "当当前活动的子状态切换到另一个子状态时发出。", "583": "enum UpdateMode: 🔗", "584": "UpdateMode IDLE = <2/>", "585": "在空闲处理期间更新状态机。", "586": "UpdateMode PHYSICS = <2/>", "587": "在物理处理期间更新状态机。", "588": "UpdateMode MANUAL = <2/>", "589": "通过在脚本中调用 update 来手动更新状态机。", "590": "LimboState ANYSTATE 🔗", "591": "LimboState anystate()", "592": "用于定义“从任意状态出发”的转换。", "593": "LimboState initial_state 🔗", "594": "<1/> set_initial_state(value: LimboState)", "595": "LimboState get_initial_state()", "596": "使用 set_active 方法激活状态机时会变为活动的子状态。如果没有显式设置,LimboHSM 的第一个子节点将被视为初始状态。", "597": "UpdateMode update_mode = <2/> 🔗", "598": "<1/> set_update_mode(value: UpdateMode)", "599": "UpdateMode get_update_mode()", "600": "指定状态机应在何时更新。见 UpdateMode。", "601": "<1/> add_transition(from_state: LimboState, to_state: LimboState, event: <4/>, guard: <5/> = Callable()) 🔗", "602": "建立从一个状态到另一个状态的转换,在 <1/> 被派发时触发。<2/> 和 <3/> 都必须是此 LimboHSM 的直接子节点。", "603": "可选地,可以指定一个 <1/> 函数,它必须返回布尔值。如果守卫函数返回 <2/>,则不会发生转换。守卫函数会在考虑该转换之前立即被调用。关于状态级别的守卫函数,请查看 LimboState.set_guard。", "604": "<1/> change_active_state(state: LimboState) 🔗", "605": "把当前活动的子状态切换为 <1/>。如果 <2/> 已经处于活动状态,它会被退出并重新进入。", "606": "<1/> 必须是此 LimboHSM 的子节点。", "607": "LimboState get_active_state() <2/> 🔗", "608": "返回当前活动的子状态。", "609": "LimboState get_leaf_state() <2/> 🔗", "610": "返回状态机中当前活动的叶状态。", "611": "LimboState get_previous_active_state() <2/> 🔗", "612": "返回上一个活动的子状态。", "613": "<1/> has_transition(from_state: LimboState, event: <3/>) <4/> 🔗", "614": "如果存在从 <2/> 出发、针对给定 <3/> 的转换,则返回 <1/>。", "615": "<1/> initialize(agent: <2/>, parent_scope: Blackboard = null) 🔗", "616": "初始化该状态,并为它自身及所有子状态调用 LimboState._setup。", "617": "<1/> remove_transition(from_state: LimboState, event: <3/>) 🔗", "618": "移除某个状态上与特定 <1/> 关联的转换。", "619": "<1/> set_active(active: <2/>) 🔗", "620": "设为 <1/> 时,会把状态切换到 initial_state,并根据 update_mode 激活状态处理。", "621": "<1/> update(delta: <2/>) 🔗", "622": "对它自身和活动子状态调用 LimboState._update,调用会逐级向下传递到叶状态。如果 update_mode 未设为 MANUAL,此方法会自动触发。" }