Documentation
¶
Index ¶
- func DefaultSharedBlackboard() *bcore.Blackboard
- func GlobalHandlerPool() *handle.HandlerPool
- func InitSystem(opts ...Option)
- func NewBrain(blackboard bcore.IBlackboard, delegates map[string]any) bcore.IBrain
- func RegisterDelegatorType(name string, target any) error
- func SharedBlackboard(key string) *bcore.Blackboard
- type Brain
- type ClassLoader
- type ExecutorFun
- type InitialOption
- type NodeRegistry
- type Option
- func WithCustomNodes(nodes []bcore.INode) Option
- func WithLogDevelopment(development bool) Option
- func WithLogLevel(level zapcore.Level) Option
- func WithThreadPool(pool *ants.Pool) Option
- func WithTimerInterval(interval time.Duration) Option
- func WithTimerNumSlots(slots int) Option
- func WithTimerPoolSize(size int) Option
- type Tree
- type TreeRegistry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultSharedBlackboard ¶
func DefaultSharedBlackboard() *bcore.Blackboard
DefaultSharedBlackboard 获取全局默认共享黑板单例
@return *Blackboard
func GlobalHandlerPool ¶
func GlobalHandlerPool() *handle.HandlerPool
GlobalHandlerPool 全局反射代理缓存池
@return *handle.HandlerPool
func SharedBlackboard ¶
func SharedBlackboard(key string) *bcore.Blackboard
SharedBlackboard 获取全局共享黑板单例,若不存在会创建一个
@param key 指定key @return *Blackboard
Types ¶
type Brain ¶
type Brain struct {
// contains filtered or unexported fields
}
func (*Brain) Blackboard ¶
func (b *Brain) Blackboard() bcore.IBlackboard
type ClassLoader ¶
type ClassLoader struct {
// contains filtered or unexported fields
}
ClassLoader 节点类加加载器 作用 1.缓存节点类2.使用时找到缓存类并实例化出来
func GlobalClassLoader ¶
func GlobalClassLoader() *ClassLoader
GlobalClassLoader 全局类加载器
@return *ClassLoader
func NewClassLoader ¶
func NewClassLoader() *ClassLoader
func (*ClassLoader) Contains ¶
func (l *ClassLoader) Contains(name string) bool
Contains 检查注册器中是否包含指定节点类
@receiver l @param name @return bool
func (*ClassLoader) New ¶
New 根据 name 实例化节点
@receiver l @param name @param cfg @return INode @return error
func (*ClassLoader) Register ¶
func (l *ClassLoader) Register(node bcore.INode)
Register 注册节点类,注册名为节点的struct名称
@receiver l @param node
func (*ClassLoader) RegisterWithName ¶
func (l *ClassLoader) RegisterWithName(name string, node bcore.INode)
RegisterWithName 根据名字注册节点类
@receiver rsm @param name 可以为空,为空时使用节点的struct名称 @param c
type ExecutorFun ¶
ExecutorFun 委托方法签名例
type InitialOption ¶
type InitialOption struct {
ThreadPool *ants.Pool // 线程池 为空则使用默认
TimerPoolSize int // 时间轮池子容量 为0则使用默认
TimerInterval time.Duration // 时间轮帧间隔 为0则使用默认
TimerNumSlots int // 时间槽数量 时间轮第一层总时长=interval*numSlots 为0则使用默认
LogLevel zapcore.Level // 日志级别
LogDevelopment bool // 日志模式是否开发模式
CustomNodeClass []bcore.INode // 用于注册自定义节点类
}
type NodeRegistry ¶
type NodeRegistry struct {
// contains filtered or unexported fields
}
NodeRegistry 节点注册器
用于加载行为树前保存节点实例
func NewNodeRegistry ¶
func NewNodeRegistry() *NodeRegistry
func (*NodeRegistry) Register ¶
func (n *NodeRegistry) Register(node bcore.INode)
type Option ¶
type Option func(option *InitialOption)
func WithCustomNodes ¶
func WithLogDevelopment ¶
func WithLogLevel ¶
func WithThreadPool ¶
func WithTimerInterval ¶
func WithTimerNumSlots ¶
func WithTimerPoolSize ¶
type TreeRegistry ¶
type TreeRegistry struct {
TreesByID map[string]*Tree // 所有树,索引为ID
TreesByTag map[string]*Tree // 所有树,索引为Tag
// contains filtered or unexported fields
}
TreeRegistry 行为树注册器
func GlobalTreeRegistry ¶
func GlobalTreeRegistry() *TreeRegistry
func NewTreeRegistry ¶
func NewTreeRegistry() *TreeRegistry
func (*TreeRegistry) LoadFromJson ¶
func (r *TreeRegistry) LoadFromJson(cfgJson string) (*Tree, error)
func (*TreeRegistry) LoadFromJsons ¶
func (r *TreeRegistry) LoadFromJsons(cfgJson []string) error
func (*TreeRegistry) LoadFromPaths ¶
func (r *TreeRegistry) LoadFromPaths(paths []string) error
Source Files
¶
Click to show internal directories.
Click to hide internal directories.