本文内容
数据类
注意:本信息面向项目管理器工具的开发人员。如果您是使用项目管理器的用户,请参阅 项目管理器用户指南。
注意:其中包含各种类的功能和作用的简要概述。如果有,目录中还会提供其他链接,包括扩展信息或 github 链接。所有文档反映的代码截至提交 (b79bd3df1f)
概述
类 | 源代码 | 说明 |
---|---|---|
TemplateInfo | 头文件 cpp 文件 | 描述封装通用模板的数据字段。 |
ProjectTemplateInfo | 头文件 | 项目专用模板的子类。唯一不同的是,该模板包含Gem。 |
SettingsInterface | 头文件 | 与 O3DE 设置注册表交互的界面。 |
Settings | 头文件 cpp 文件 | 实现与 O3DE 设置注册表交互的SettingsInterface 。 |
ProjectInfo | 头文件 cpp 文件 | 包含描述项目的数据结构,记录在 ProjectManager 内的 project.json 中。还包含远程项目的元数据,或用于检查项目是否需要重建。 |
EngineInfo | 头文件 cpp 文件 | 包含描述当前引擎的数据结构,记录在 ProjectManager 内的 engine.json 中。还包含引擎注册的元数据。 |
ProjectManagerDefs | 头文件 | 包含各种常量和预设字符串。 |
设置
我们指定SettingsInterface
作为一个契约,以确保我们实现了适当的方法,并能从一个简洁的接口(
一个示例 )对设置进行全局访问。它还是访问项目管理器设置的单例接口。
SettingsInterface
指定以下功能作为与 O3DE 设置注册表交互的合约:
函数 | 说明 | 实现 |
---|---|---|
SettingsInterface::Get | 使用 QString 键,可以返回字符串或 bool 值。 | 代码 |
SettingsInterface::Set | 使用 QString 键,可以为条目设置字符串或 bool 值。 | 代码 |
SettingsInterface::Remove | 从注册表中删除带有 QString 键的条目。 | 代码 |
SettingsInterface::Copy | 将数值从一个键复制到另一个键。也可以选择删除原始条目,起到 “移动 ”命令的作用。 | 代码 |
SettingsInterface::GetProjectKey | 给定一个 ProjectInfo 实例,为该项目在设置注册表中的位置提供键前缀。 | 代码 |
SettingsInterface::GetProjectBuiltSuccessfully | 查询给定项目的最新构建状态(成功与否)。 | 代码 |
SettingsInterface::SetProjectBuiltSuccessfully | 设置给定项目的最新构建状态(成功与否)。 | 代码 |
所有这些函数都是纯虚函数,需要在基本实现类中实现,否则会导致编译错误,从而强制执行契约。
Settings
类
继承 SettingsInterface
,它在引擎盖下使用
AZ::SettingsRegistryInterface
与 O3DE 设置注册表交互。
这与 JSON 类似,因此可以通过键路径检索值。例如,以 .setreg 为例:
{
"key":{
"subkey":{
"subsubkey":"value"
}
}
}
然后可使用字符串键 key/subkey/subsubkey
检索该值。
ProjectManager::SettingsInterface
与 AZ::SettingsRegistryInterface
类似,只是它覆盖了一些行为,以查找 Project Manager 的特定配置,而不是整个 O3DE。此外,它还能与 QString
配合使用,而 AZ
的对应程序却不能处理这种情况。
Settings
类继承自SettingsInterface::Registrar
。
Registrar
是AzCore
中AZ::Interface
的一部分。
Registrar
的
实现 在全局范围内注册接口,这表明了单例模式。
以下是 Settings
也提供的其余功能:
函数 | 说明 |
---|---|
Settings::Save | 将设置注册表转为字符串流。然后尝试打开 O3DE 用户路径中的 ProjectManager.setreg 文件,并将流数据写入该文件。 |
Settings::GetBuiltSuccessfullyPaths | 针对请求的每个项目路径,获取构建状态。结果以集合形式返回。 |