XPackageChunkSelector

定义用于选择一组区块的条件。

语法

typedef struct XPackageChunkSelector {  
    XPackageChunkSelectorType type;  
    union  
    {  
        const char* language;  
        const char* tag;  
        const char* feature;  
        uint32_t chunkId;  
    };  
} XPackageChunkSelector  

成员

type
类型:XPackageChunkSelectorType

选择器的类型。

language
类型:const char*

要匹配的语言属性,如“en-us”为英语(美国) 或“fr-fr”为法语(法国)。

tag
类型:const char*

要匹配的标记属性,如 BigMapSmallMap

功能
类型:const char*

要匹配的功能,如“BigMaps”。

chunkId
类型:uint32_t

要匹配的区块号。

备注

XPackageChunkSelector 对象的数组用于为安装 API 中的许多操作选择一组区块。 本部分介绍用于将 XPackageChunkSelector 对象的数组转换为一组区块 ID 的规则。 每个 XPackageChunkSelector 都具有一个选择器类型和选择器值。 如果一个区块上定义的所有区块说明符与所有安装选择器匹配,则包括该区块。

程序包包含构成游戏的所有文件。 可以将文件分组为称为“区块”的逻辑单元。 区块具有数字 ID,还可以具有零个或多个文本属性(如语言或用户定义的标记)。 许多 XPackage API 对区块组进行操作。 这些 API 使用 XPackageChunkSelectors 数组来描述 API 将使用哪些区块。 本部分介绍用于将 XPackageChunkSelector 对象的数组转换为区块 ID 数组的规则。 每个 XPackageChunkSelector 都具有一个选择器类型和选择器值。 如果一个区块上定义的所有属性与所有区块选择器匹配,则包括该区块。

在下表中,区块选择器数据有两个选择器:语言和标记。

选择器类型 选择器值
语言 en-US
标记 BigMap

下表是定义一组具有各种属性的区块的示例。

区块 语言 标记
1 en-US (无)
2 en-US;fr-FR (无)
3 fr-FR (无)
4 fr-FR BigMap
5 fr-FR;en-US BigMap;SmallMap
6 en-US SmallMap

参考上表,由区块选择器数组所选的区块将使用区块属性 1、2 和 5。 区块选择器未选中的区块使用区块属性 3、4 和 6。

从不同角度来查看此区块数组示例:

  • 仅对区块定义了相应说明符时,区块选择器类型才匹配区块属性。 区块 1 - 3 未定义标记,因此对于这些区块将忽略具有某一类型的标记的区块选择器。
  • 一个区块可以通过用分号分隔多个值,为一个属性定义多个值。 只有一个值需要匹配。
  • 如果拒绝了任何区块选择器类型,则无论匹配多少个其他选择器,都会拒绝该区块。 区块 6 被拒绝,因为 SmallMap 与 BigMap 不匹配,但语言匹配。

一个区块选择器值可以包含用分号分隔的多个值,就像一个区块在其布局文件中一样。 此外,可以多次用相同的区块选择器类型定义一个数组。

在以下代码示例中,情况也是如此:

XPackageChunkSelector selectors1[] =  
{
    { XPackageChunkSelectorType::Language, "en-US" },
    { XPackageChunkSelectorType::Language, "fr-FR" }
};
  
XPackageChunkSelector selectors2[] =  
{ 
    { XPackageChunkSelectorType::Language, "en-US;fr-FR" },
};

平台可以进一步筛选匹配的区域集。 例如,可以将 Devices 属性添加到某一区块,使其仅可用于特定的一组主机。 仅当它们还匹配系统属性时,才包括你选择的区块。 如果你想安装德语,但包中的德语区块仅在 Xbox One X 主机上提供,那么安装监视器不会将此区块包括在针对 Xbox One 主机的监视范围内。 如果它包括了,则针对德语的安装将永远不会完成。

有关将打包技术用于 Xbox One 游戏的详细信息,请参阅打包概述。 有关创建 XVC 包的步骤的信息,请参阅开始为 Xbox 主机打包游戏

要求

头文件:XPackage.h

支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机

另请参阅

流式安装和智能交付
XPackage