Interface IBehaviorGroup
- All Known Implementing Classes:
BehaviorGroup
,EmptyBehaviorGroup
行为组是一个基本的、独立的AI单元
它由若干个(核心)行为
IBehavior
、控制器IController
、传感器ISensor
以及一个寻路器IRouteFinder
和记忆存储器IMemoryStorage
组成
注:核心行为指的是不会被行为优先级影响的行为,其激活状态只取决于其自身的评估器-
Method Summary
Modifier and TypeMethodDescriptionvoid
applyController
(EntityIntelligent entity) 应用行为内部所有的控制器IController
void
collectSensorData
(EntityIntelligent entity) void
evaluateBehaviors
(EntityIntelligent entity) 调用行为组内部的所有行为IBehavior
的评估器IBehaviorEvaluator
void
调用行为组内部的所有核心行为IBehavior
的评估器IBehaviorEvaluator
boolean
void
setForceUpdateRoute
(boolean forceUpdateRoute) 要求下一gt立即更新路径void
调用行为组内部所有被激活的行为IBehavior
的执行器IBehaviorExecutor
void
调用行为组内部所有被激活的核心行为IBehavior
的执行器IBehaviorExecutor
void
updateRoute
(EntityIntelligent entity) 通过行为组使用的寻路器更新当前位置到目标位置路径
-
Method Details
-
evaluateBehaviors
调用行为组内部的所有行为IBehavior
的评估器IBehaviorEvaluator
- Parameters:
entity
- 目标实体对象
-
evaluateCoreBehaviors
调用行为组内部的所有核心行为IBehavior
的评估器IBehaviorEvaluator
- Parameters:
entity
- 目标实体对象
-
collectSensorData
- Parameters:
entity
- 目标实体对象
-
tickRunningBehaviors
调用行为组内部所有被激活的行为IBehavior
的执行器IBehaviorExecutor
- Parameters:
entity
- 目标实体对象
-
tickRunningCoreBehaviors
调用行为组内部所有被激活的核心行为IBehavior
的执行器IBehaviorExecutor
- Parameters:
entity
- 目标实体对象
-
applyController
应用行为内部所有的控制器IController
- Parameters:
entity
- 目标实体对象
-
getBehaviors
- Returns:
- 行为组包含的行为
IBehavior
-
getCoreBehaviors
- Returns:
- 行为组包含的核心行为
IBehavior
-
getRunningBehaviors
- Returns:
- 被激活的行为
IBehavior
-
getRunningCoreBehaviors
- Returns:
- 被激活的核心行为
IBehavior
-
getSensors
- Returns:
- 行为组包含的传感器
ISensor
-
getControllers
Set<IController> getControllers()- Returns:
- 行为组包含的控制器
IController
-
getRouteFinder
IRouteFinder getRouteFinder()- Returns:
- 行为组使用的寻路器
IRouteFinder
-
updateRoute
通过行为组使用的寻路器更新当前位置到目标位置路径- Parameters:
entity
- 目标实体
-
getMemoryStorage
IMemoryStorage getMemoryStorage()- Returns:
- 行为组的记忆存储器
IMemoryStorage
-
isForceUpdateRoute
boolean isForceUpdateRoute()- Returns:
- 下一gt是否强制更新路径
-
setForceUpdateRoute
void setForceUpdateRoute(boolean forceUpdateRoute) 要求下一gt立即更新路径- Parameters:
forceUpdateRoute
-
-