跳至内容

AAbstractScholaEnvironment

class AAbstractScholaEnvironment : public AActor

一个表示环境的抽象类。

依赖项

此类型依赖于

继承自: public AActor

子类: ADynamicScholaEnvironment, AStaticScholaEnvironment

公共接口

公共函数

InternalRegisterAgents

inline virtual void InternalRegisterAgents(TArray<FTrainerAgentPair> &OutAgentTrainerPairs)

注册一组代理到环境中,来自具有关联代理的 Pawn 列表。

在环境初始化后调用。

参数

  • OutAgentTrainerPairs (TArray<FTrainerAgentPair> &) – [输出] 一个包含 Trainer 及其控制的 Pawn 的数组,代表环境中的所有代理。

属性: inline, virtual

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 90, column 14)

Initialize

void Initialize()

从 Pawn 收集所有 AgentObject,然后初始化它们。

注意:必须在游戏开始后调用。调用 InitializeEnvironment 和 RegisterAgents。

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 101, column 6)

实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 5-40)

RetrieveUtilityComponents

void RetrieveUtilityComponents()

检索环境中的所有实用组件。

在环境初始化后调用。

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 106, column 6)

实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 42-45)

PopulateAgentStatePointers

void PopulateAgentStatePointers(FSharedEnvironmentState &OutAgentStatePointers)

在初始化时用于使用 AgentState 指针填充 AgentStateMapping。

参数

  • OutAgentStatePointers (FSharedEnvironmentState &) – [输出] 一个将用代理状态指针填充的共享状态结构。

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 112, column 6)

实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 47-53)

PopulateAgentDefinitionPointers

void PopulateAgentDefinitionPointers(FEnvironmentDefinition &OutEnvDefn)

在初始化时用于使用 AgentDefinition 指针填充 AgentDefinitionMapping。

参数

  • OutEnvDefn (FEnvironmentDefinition &) – [输出] 一个将用代理定义指针填充的共享环境定义结构。

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 118, column 6)

实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 55-62)

GetNumAgents

int GetNumAgents()

获取注册到此环境的代理数量。

返回:注册到此环境的代理数量

返回: int

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 124, column 5)

实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 64-67)

GetEnvironmentCenterPoint

FVector GetEnvironmentCenterPoint()

用于重置代理的环境中心点的便捷函数。

返回:此环境中心的 FVector 表示

返回: FVector

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 131, column 9)

实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 69-72)

ResetEnvironment

inline virtual void ResetEnvironment()

重置环境。

请注意,这不会重置代理状态。

注意:子类应实现此方法以添加在环境重置时运行的逻辑

属性: inline, virtual

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 137, column 14)

InitializeEnvironment

inline virtual void InitializeEnvironment()

执行任何环境设置,例如初始化变量或绑定委托。

在注册代理之前发生。

属性: inline, virtual

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 142, column 14)

Reset

void Reset()

重置环境以及其中的所有代理。

注意:不会将状态设置为运行。

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 147, column 6)

实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 74-108)

MarkCompleted

void MarkCompleted()

将 EnvironmentState 设置为 Resetting。

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 152, column 6)

实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 110-113)

AllAgentsThink

void AllAgentsThink()

为环境中的所有代理执行一次思考步骤。

收集观察结果并将其发送给代理。

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 157, column 6)

实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 115-141)

AllAgentsAct

void AllAgentsAct(const FEnvStep &EnvUpdate)

为环境中的所有代理执行一次行动步骤。

根据大脑的决定采取行动

参数

  • EnvUpdate (const FEnvStep &) – [输入] 要采取行动的环境更新

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 163, column 6)

实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 143-154)

SetEnvId

void SetEnvId(int EnvironmentId)

设置此环境的 Id。

在注册到子系统时调用。

参数

  • EnvironmentId (int) – [输入] 环境的 Id

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 169, column 6)

实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 156-159)

UpdateStatus

void UpdateStatus(EEnvironmentStatus NewStatus)

将此环境的状态设置为给定的状态。

参数

  • NewStatus (EEnvironmentStatus) – [输入] 环境的新状态

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 176, column 6)

实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 161-164)

GetStatus

EEnvironmentStatus GetStatus()

获取此环境的当前状态。

返回:环境的状态

返回: EEnvironmentStatus

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 182, column 20)

实现: Schola/Source/Schola/Private/Environment/AbstractEnvironment.cpp (lines 166-169)

SetEnvironmentOptions

inline virtual void SetEnvironmentOptions(const TMap<FString, FString> &Options)

根据 GymConnector 的任意 Options 配置此环境。

在环境重置之前立即调用,如果 gym connector 有 Options。

参数

  • Options (const TMap<FString, FString> &) – [输入] 一个用于配置环境的选项映射

属性: inline, virtual

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 188, column 14)

SeedEnvironment

inline virtual void SeedEnvironment(int Seed)

根据 Seed 配置此环境。

在环境重置之前立即调用,如果 gym connector 提供了新种子。

参数

  • Seed (int) – [输入] 用于配置环境的种子

属性: inline, virtual

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 194, column 14)

公共成员

FSharedEnvironmentState * State

FSharedEnvironmentState * State

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 84, column 25)

TArray<UAbstractEnvironmentUtilityComponent *> UtilityComponents

TArray<UAbstractEnvironmentUtilityComponent *> UtilityComponents

可用于添加额外行为(如日志记录或数据收集)的实用组件列表。

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 95, column 8)

Protected Interface

受保护的成员

TMap<int, AAbstractTrainer *> Trainers

TMap<int, AAbstractTrainer *> Trainers = = TMap<int, AAbstractTrainer*>()

一个从代理 ID 到 AgentObject 的映射。

属性: protected

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 68, column 6)

int MaxId

int MaxId = = 0

当前最大的 ID。

用于在运行时注册新代理。

属性: protected

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 72, column 5)

int EnvId

int EnvId

环境的 ID。

在运行时设置。

属性: protected

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 76, column 5)

EEnvironmentStatus EnvironmentStatus

EEnvironmentStatus EnvironmentStatus = = EEnvironmentStatus::Running

环境的状态。

属性: protected

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 80, column 20)

使用于

此类型由以下部分使用

来源: Schola/Source/Schola/Public/Environment/AbstractEnvironment.h (line 61, column 1)

© . This site is unofficial and not affiliated with AMD.