다음을 통해 공유


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*

연결할 태그 특성입니다(예: BigMap 또는 SmallMap).

feature
형식: const char*

"BigMaps"과 같이 매칭할 기능입니다.

chunkId
형식: uint32_t

연결할 청크 수입니다.

주석

XPackageChunkSelector 개체 배열은 설치 API에서 여러 작업을 위한 청크 집합을 선택하기 위해 사용됩니다. 이 섹션에서는 XPackageChunkSelector 개체 배열을 청크 ID 집합으로 변환하기 위해 사용되는 규칙을 설정합니다. 각 XPackageChunkSelector에는 선택기 유형과 선택기 값이 포함됩니다. 청크는 청크에 정의된 모든 청크 지정자가 모든 설치 선택기와 일치할 경우에 포함됩니다.

패키지에는 게임을 구성하는 모든 파일이 포함됩니다. 파일은 청크라는 논리 단위로 그룹화할 수 있습니다. 청크에는 숫자 ID가 있으며 언어 또는 사용자 정의 태그 등 0개 이상의 텍스트 특성을 가질 수도 있습니다. 많은 XPackage API는 청크 그룹에서 작동합니다. 이 API는 XPackageChunkSelectors 배열을 사용하여 API가 사용할 청크를 설명합니다. 이 섹션에서는 XPackageChunkSelector 개체 배열을 청크 ID 배열로 변환하기 위해 사용되는 규칙을 설정합니다. 각 XPackageChunkSelector에는 선택기 유형과 선택기 값이 포함됩니다. 청크는 청크에 정의된 모든 특성이 모든 청크 선택기와 일치하는 경우에 포함됩니다.

다음 표에서 청크 선택기 배열에는 언어와 태그라는 두 선택기가 있습니다.

선택기 유형 선택기 값
언어 en-US
Tag BigMap

다음 표는 여러 가지 특성이 포함된 청크의 집합을 정의 하는 예입니다.

Chunk 언어 Tag
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 1 X 콘솔과 함께 제공되는 독일어 청크가 설치 모니터에 포함되지 않습니다. 그랬다면, 독일어 설치가 완료되지 않을 것입니다.

Xbox One 타이틀에 사용되는 패키징 기술에 관한 자세한 내용은 패키징 개요를 참조하세요. XVC 패키지를 만드는 단계에 관한 자세한 내용은 Xbox 콘솔용 타이틀 패키징 시작하기를 참조하세요.

요구 사항

헤더: XPackage.h

지원되는 플랫폼: Windows, Xbox One 패밀리 콘솔 및 Xbox Series 콘솔

참고 항목

스트리밍 설치 및 지능형 전달
XPackage