IInferenceAgent
class IInferenceAgent依赖项
此类型依赖于
- FActTickFunction
- FThinkTickFunction
- UAbstractBrain
- UAbstractObserver
- UAbstractPolicy
- UActuator
- UInteractionManager
子类: AInferenceController, AInferencePawn, UBTTask_AgentStep, UInferenceComponent
公共接口
公共函数
GetControlledPawn
inline virtual APawn * GetControlledPawn()获取代理的控制 Pawn。
返回:指向受控 pawn 对象的指针。
返回值: APawn *
属性: inline, virtual
源码: Schola/Source/Schola/Public/Inference/IInferenceAgent.h (第 41 行,第 15 列)
GetInteractionManager
inline virtual UInteractionManager * GetInteractionManager()获取用于收集执行器和观察值的交互管理器。
返回值:指向交互管理器对象的指针。
返回值: UInteractionManager *
属性: inline, virtual
源码: Schola/Source/Schola/Public/Inference/IInferenceAgent.h (第 47 行,第 29 列)
GetBrain
inline virtual UAbstractBrain * GetBrain()获取代理的大脑。
返回值:指向大脑对象的指针。
返回值: UAbstractBrain *
属性: inline, virtual
源码: Schola/Source/Schola/Public/Inference/IInferenceAgent.h (第 53 行,第 24 列)
GetPolicy
inline virtual UAbstractPolicy * GetPolicy()获取代理的策略。
返回值:指向策略对象的指针。
返回值: UAbstractPolicy *
属性: inline, virtual
源码: Schola/Source/Schola/Public/Inference/IInferenceAgent.h (第 59 行,第 25 列)
GetAllObservers
inline virtual TArray<UAbstractObserver *> GetAllObservers()获取附加到控制 Pawn 的观察值以及附加到代理的观察值。
返回值:观察值对象数组。
返回值: TArray<UAbstractObserver *>
属性: inline, virtual
源码: Schola/Source/Schola/Public/Inference/IInferenceAgent.h (第 65 行,第 16 列)
GetAllActuators
inline virtual TArray<UActuator *> GetAllActuators()获取附加到控制 Pawn 的执行器以及附加到代理的执行器。
返回值:执行器对象数组。
返回值: TArray<UActuator *>
属性: inline, virtual
源码: Schola/Source/Schola/Public/Inference/IInferenceAgent.h (第 71 行,第 16 列)
GetStatus
inline virtual EAgentStatus GetStatus()获取代理的状态。
返回值:代理的状态。
返回值: EAgentStatus
属性: inline, virtual
源码: Schola/Source/Schola/Public/Inference/IInferenceAgent.h (第 77 行,第 22 列)
SetStatus
inline virtual void SetStatus(EAgentStatus NewStatus)设置代理的状态。
参数
NewStatus(EAgentStatus) – 要设置的新状态。
属性: inline, virtual
源码: Schola/Source/Schola/Public/Inference/IInferenceAgent.h (第 83 行,第 14 列)
GetObserversFromPawn
TArray<UAbstractObserver *> GetObserversFromPawn()获取附加到 pawn 的所有观察者。
返回值:观察值对象数组。
返回值: TArray<UAbstractObserver *>
源码: Schola/Source/Schola/Public/Inference/IInferenceAgent.h (第 89 行,第 8 列)
实现: Schola/Source/Schola/Private/Inference/IInferenceAgent.cpp (第 5-15 行)
GetActuatorsFromPawn
TArray<UActuator *> GetActuatorsFromPawn()获取附加到 pawn 的所有执行器。
返回值:执行器对象数组。
返回值: TArray<UActuator *>
源码: Schola/Source/Schola/Public/Inference/IInferenceAgent.h (第 95 行,第 8 列)
实现: Schola/Source/Schola/Private/Inference/IInferenceAgent.cpp (第 17-27 行)
GetAgentName
FString GetAgentName()获取代理的名称。
返回:代理的名称。
返回: FString
源码: Schola/Source/Schola/Public/Inference/IInferenceAgent.h (第 101 行,第 9 列)
实现: Schola/Source/Schola/Private/Inference/IInferenceAgent.cpp (第 29-32 行)
Initialize
bool Initialize()在游戏开始后初始化此代理。
返回:如果初始化成功,则返回 true,否则返回 false。
返回: bool
源码: Schola/Source/Schola/Public/Inference/IInferenceAgent.h (第 107 行,第 6 列)
实现: Schola/Source/Schola/Private/Inference/IInferenceAgent.cpp (第 34-71 行)
Act
void Act()代理在采取行动前从大脑检索一个行动。
源码: Schola/Source/Schola/Public/Inference/IInferenceAgent.h (第 112 行,第 6 列)
实现: Schola/Source/Schola/Private/Inference/IInferenceAgent.cpp (第 95-119 行)
Think
void Think()更新代理的状态。
这将检查代理是否已完成、其奖励应该是什么,并在请求决策之前进行任何观察收集。
源码: Schola/Source/Schola/Public/Inference/IInferenceAgent.h (第 117 行,第 6 列)
实现: Schola/Source/Schola/Private/Inference/IInferenceAgent.cpp (第 73-93 行)
SetupDefaultTicking
virtual void SetupDefaultTicking(FThinkTickFunction &OutThinkTickFunction, FActTickFunction &OutActTickFunction, AActor *InTargetActor=nullptr)注册 Think 和 Act 的默认 Tick 函数。
参数
| 名称 | 类型 | 默认 |
|---|---|---|
OutThinkTickFunction | FThinkTickFunction & | “ |
OutActTickFunction | FActTickFunction & | “ |
InTargetActor | AActor * | nullptr |
属性: virtual
源码: Schola/Source/Schola/Public/Inference/IInferenceAgent.h (第 122 行,第 14 列)
实现: Schola/Source/Schola/Private/Inference/IInferenceAgent.cpp (第 121-133 行)
使用于
此类型由以下部分使用
- AInferenceController
- AInferencePawn
- FActTickFunction
- FThinkTickFunction
- UBTTask_AgentStep
- UInferenceComponent
源码: Schola/Source/Schola/Public/Inference/IInferenceAgent.h (第 32 行,第 1 列)