中心策略tactic

作为决策模块的总的父类,它相当于电脑的主板,控制各个模块的运作,虽然这一块不能改,但了解它的流程也是很重要的。

重要的属性

 - private Tactics parentTactics;
 - private List<AbstractModule> modules;
 - private List<ExtAction> modulesExtAction;
 - private List<CommandExecutor> modulesCommandExecutor;

modules:通过类型可以看出它作用是存储AbstractModule类型的模块。而AbstractModule包括TargetAllocatorTargetDetectorClusteringPathPlanning及其各子类;位置为adf.module
modulesExtAction:它的作用是存储ExtAction类型的行为模块。ExtAction包括ActionExtClearActionExtMoveActionFireFightingActionTransport四大行为;位置为adf.ExtAction
modulesCommandExecutor:它的作用是存储CommandExecutor类型的命令解析模块。CommandExcutor包括如下图所示,它位于adf.centralized
CommandExecutor

常用的方法

结构如图所示

registerModule() :三个重载的方法,分别是把相应类型的模块放到对应的List里
unregisterModule() :同样三个重载的方法,分别把相应类型的模块从List中Remove,返回值为布尔类型。
剩下四个Precompute、Resume、Preparate和UpdateInfo :分别为属性中那三个List作对应的操作(Precompute,Resume等等)
总的来说它们的作用就是把各个模块统一化管理,比如:先把所有模块注册再统一进行更新信息等等。
关于结构中剩下的那几个public型的方法,一般会在子类重写,主要作用也体现在子类中,这里不再赘述。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值