ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
ngl::nbt_stateful_action_node< TACTOR > Class Template Referencefinal

有状态动作节点包装类(状态机生命周期)。 More...

#include <nbt.h>

Inheritance diagram for ngl::nbt_stateful_action_node< TACTOR >:

Public Member Functions

 nbt_stateful_action_node (const std::string &aname, const BT::NodeConfig &aconfig, nbt_node_callback< TACTOR > afun)
 构造函数。
nbt_status onStart () override
 状态机启动回调。
nbt_status onRunning () override
 状态机持续运行回调。
void onHalted () override
 中止回调。

Detailed Description

template<typename TACTOR>
class ngl::nbt_stateful_action_node< TACTOR >

有状态动作节点包装类(状态机生命周期)。

继承自BT::StatefulActionNode,支持跨tick的状态保持。 生命周期:IDLE → onStart();若返回RUNNING,后续tick调用onRunning(); 外部中止时调用onHalted()进行清理。

Template Parameters
TACTORActor类型
Note
适用于请求-应答模式,动作需要等待跨tick结果的场景。
onStart()和onRunning()共用同一个回调函数。

Constructor & Destructor Documentation

◆ nbt_stateful_action_node()

template<typename TACTOR>
ngl::nbt_stateful_action_node< TACTOR >::nbt_stateful_action_node ( const std::string & aname,
const BT::NodeConfig & aconfig,
nbt_node_callback< TACTOR > afun )
inline

构造函数。

Parameters
aname节点实例名称
aconfig节点配置
afun用户注册的回调函数

Member Function Documentation

◆ onHalted()

template<typename TACTOR>
void ngl::nbt_stateful_action_node< TACTOR >::onHalted ( )
inlineoverride

中止回调。

节点被外部中止时调用,用于清理资源。默认为空实现。

◆ onRunning()

template<typename TACTOR>
nbt_status ngl::nbt_stateful_action_node< TACTOR >::onRunning ( )
inlineoverride

状态机持续运行回调。

当onStart()返回RUNNING后,后续每次tick调用此方法。

Returns
节点状态(SUCCESS/FAILURE/RUNNING)

◆ onStart()

template<typename TACTOR>
nbt_status ngl::nbt_stateful_action_node< TACTOR >::onStart ( )
inlineoverride

状态机启动回调。

节点首次被tick时调用。

Returns
节点状态(SUCCESS/FAILURE/RUNNING)

The documentation for this class was generated from the following file: