AInferenceController
class AInferenceController : public AController, public IInferenceAgent一个实现 IInferenceAgent 接口的控制器,用于控制带有 Brain/Policy 的 Pawn。
依赖项
此类型依赖于
- FActTickFunction
- FThinkTickFunction
- IInferenceAgent
- UAbstractBrain
- UAbstractObserver
- UAbstractPolicy
- UActuator
- UInteractionManager
继承自: public AController, public IInferenceAgent
公共接口
公共函数
GetControlledPawn
inline virtual APawn * GetControlledPawn() override获取代理的控制 Pawn。
返回值:指向控制 Pawn 的指针。
返回值: APawn *
属性: inline, virtual
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 60, column 15)
GetInteractionManager
inline virtual UInteractionManager * GetInteractionManager() override获取代理的交互管理器。
返回:交互管理器的指针。
返回值: UInteractionManager *
属性: inline, virtual
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 69, column 29)
GetBrain
inline virtual UAbstractBrain * GetBrain() override获取代理的大脑。
返回:大脑的指针。
返回值: UAbstractBrain *
属性: inline, virtual
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 78, column 24)
GetPolicy
inline virtual UAbstractPolicy * GetPolicy() override获取代理的策略。
返回:策略的指针。
返回值: UAbstractPolicy *
属性: inline, virtual
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 87, column 25)
GetAllObservers
inline virtual TArray<UAbstractObserver *> GetAllObservers() override获取代理的所有观察者。
返回:观察者指针数组。
返回值: TArray<UAbstractObserver *>
属性: inline, virtual
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 96, column 16)
GetAllActuators
inline virtual TArray<UActuator *> GetAllActuators() override获取代理的所有执行器。
返回:执行器指针数组。
返回值: TArray<UActuator *>
属性: inline, virtual
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 116, column 16)
GetStatus
inline virtual EAgentStatus GetStatus() override获取代理的状态。
返回值:代理的状态。
返回值: EAgentStatus
属性: inline, virtual
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 137, column 22)
SetStatus
inline virtual void SetStatus(EAgentStatus NewStatus) override设置代理的状态。
参数
NewStatus(EAgentStatus) – [in] 要设置的新状态。
属性: inline, virtual
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 146, column 14)
RegisterActorTickFunctions
inline void RegisterActorTickFunctions(bool bRegister) override注册或注销代理的 tick 函数。
参数
bRegister(bool) – [in] 是否注册 tick 函数。
属性: inline
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 155, column 6)
BeginPlay
inline virtual void BeginPlay() override游戏开始或生成时调用。
属性: inline, virtual
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 173, column 14)
公共成员
UInteractionManager * InteractionManager
UInteractionManager * InteractionManager = = CreateDefaultSubobject<UInteractionManager>(TEXT("InteractionManager"))定义代理如何与环境交互的对象。
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 22, column 21)
UAbstractPolicy * Policy
UAbstractPolicy * Policy定义一个异步函数 f:Observations->Actions,用于为代理做出决策的对象。
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 26, column 17)
UAbstractBrain * Brain
UAbstractBrain * Brain定义决策请求如何同步的对象。
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 30, column 16)
TArray<UAbstractObserver *> Observers
TArray<UAbstractObserver *> Observers收集代理观察值的观察值列表。
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 34, column 8)
TArray<UActuator *> Actuators
TArray<UActuator *> Actuators执行代理动作的执行器列表。
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 38, column 8)
EAgentStatus Status
EAgentStatus Status = = EAgentStatus::Stopped代理的状态。
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 42, column 14)
FThinkTickFunction ThinkTickFunction
FThinkTickFunction ThinkTickFunction = = FThinkTickFunction(this)来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 46, column 20)
FActTickFunction ActTickFunction
FActTickFunction ActTickFunction = = FActTickFunction(this)来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 50, column 18)
bool bRegisterAgentStep
bool bRegisterAgentStep = = true代理是否应设置为自动采取行动。
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 54, column 6)
来源: Schola/Source/Schola/Public/Inference/InferenceController.h (line 15, column 1)