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) 调用行为组内部的所有传感器ISensor
,并将传感器返回的记忆数据写入到记忆存储器中IMemoryStorage
default void
debugTick
(EntityIntelligent entity) 当EntityAI
.DEBUG == true 时此方法每1gt调用一次,用于debug模式相关内容的刷新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
调用行为组内部的所有传感器ISensor
,并将传感器返回的记忆数据写入到记忆存储器中IMemoryStorage
- 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
- 立即更新路径
-
debugTick
当EntityAI
.DEBUG == true 时此方法每1gt调用一次,用于debug模式相关内容的刷新
-