Choose your operating system:
Windows
macOS
Linux
온라인 서브시스템 전반에 걸쳐 사용되는 다양한 데이터 구조체를 정의하는 문서입니다.
IOnlinePlatformData
IOnlinePlatformData 는 불투명한 것에 대한 베이스 클래스로, 그 안에 들어있는 데이터를 고려치 않고 데이터를 전달하기 위함입니다. 사람이 읽을 수 있는 버전의 데이터는 ToString() 함수를 통해 얻을 수 있으며, 그 이외에는 플랫폼 코드만 데이터에 직접 연산해야 할 것입니다.
다양한 구조체의 플랫폼 전용 표현을 종종 볼 수 있는데, 게임에서의 처리는 필요하지만 디테일을 노출시킬 필요는 없는 것을 말합니다. 이를 통해 게임이 데이터를 보유하다가 세부적인 이해 없이도 다른 플랫폼에 리플리케이트할 수 있습니다.
IOnlinePlatformData 파생 클래스입니다.
함수
/**
* 이 불투명 데이터의 원형 바이트 표현을 구합니다.
* 이 데이터는 플랫폼에 따라 달라지며, 직접 조작해서는 안됩니다.
* @return GetSize() 의 바이트 배열 크기
*/
virtual const uint8* GetBytes() const = 0;
/**
* 불투명 데이터 크기를 구합니다.
* @return 데이터 표현의 크기를 바이트로
*/
virtual int32 GetSize() const = 0;
/**
* 불투명 데이터의 유효성을 검사합니다.
* @return 제대로 형성된 데이터면 True, 아니면 False
*/
virtual bool IsValid() const = 0;
/**
* 불투명 데이터의 사람이 읽을 수 있는 표현을 구합니다.
* 로깅/디버깅 이외의 곳에 사용해서는 안됩니다.
* @return String 형 데이터
*/
virtual FString ToString() const = 0;
FUniqueNetId
FUniqueNetId 에는 프로파일 서비스 온라인 ID 가 들어있으며, 개별 플레이어나 친구나 세션의 무언가를 나타낼 수 있습니다.
FSharedContentHandle
FSharedContentHandle 에는 프로파일 서비스 공유 파일 핸들이 들어있습니다. 이 핸들은 이리저리 전달 가능하며, 적절한 권한만 주어진다면 어디서도 공유 콘텐츠에 접근하는 데 사용될 수 있습니다.
FSessionInfo
FSessionInfo 에는 세션의 플랫폼 전용 정보가 들어있습니다. 그 정보는 대부분 세션 식별자, 호스트 주소, 생성된 세션을 식별하고 접속하기 위한 기타 수단 등입니다.
참고:
FEmsFile
FEmsFile 은 주어진 다운로드가능 파일 관련 메타데이터 입니다. 이 구조체는 주어진 서비스에서 사용할 수 있는 데이터를 열거하는 데 사용됩니다.
다음과 같은 요소가 들어있습니다:
-
Hash - 주어진 파일 콘텐츠의 해시 값입니다.
-
Filename - 다운로드된 파일명입니다.
-
Logical name - 다운로드된 파일명에 매핑되는 이름입니다.
-
File size - 파일의 크기입니다.
FTitleFile
FTitleFile 은 온라인 서비스에서 파일을 비동기식으로 다운로드하는 데 사용되는 데이터를 담는 내부 구조체입니다.
다음과 같은 요소가 들어있습니다:
-
Filename - 다운로드된 파일명입니다.
-
Async state - 다운로드된 파일의 상태입니다. (참고: Async State )
-
Data - 파일 콘텐츠가 들어있는 버퍼입니다.
EOnlineAsyncTaskState
EOnlineAsyncTaskState 는 비동기 작업에 가능한 상태를 나타내는 단순 Enum 입니다.
/** 태스크 시작되지 않음 */
NotStarted,
/** 태스크 현재 처리중 */
InProgress,
/** 태스크 성공 */
Done,
/** 태스크 실패 */
Failed