Player Data Storage Sample

플레이어 데이터 스토리지 샘플 개요

4 분 소요

시작하기 전에 알아 둘 사항

플레이어 데이터 스토리지 샘플(Player Data Storage Sample)에픽 계정 서비스(Epic Account Services) 를 사용하여 시연 목적으로 로컬 사용자를 인증합니다. 이를 위해서는 에픽 온라인 서비스(Epic Online Service, EOS) SDK를 개시하는 데 사용된 클라이언트 크리덴셜이 에픽 계정 서비스에 사용된 애플리케이션(Application) 에 할당되어 있어야 합니다.

이 샘플에서 시연된 SDK 기능은 사용자 인증에 대해 지원되는 모든 ID 제공자에서 사용 가능합니다.

샘플 살펴보기

플레이어 데이터 스토리지 샘플은 사용자 계정과 연관된 클라우드 스토리지를 위한 간편 파일 탐색기입니다. 사용자 계정으로 로그인 또는 로그아웃할 수 있습니다. 로그인된 상태로 계정과 연관된 파일을 탐색하고 업로드, 다운로드, 복제 또는 삭제할 수 있습니다.

플레이어 데이터 패널

플레이어 데이터 스토리지 샘플을 시작하려면 유저 인터페이스 우측에서 플레이어 데이터(Player Data) 패널을 찾아서 호스트 주소와 사용자 크리덴셜(개발자 인증 툴에 저장되어 있음)을 입력하고 로그인(Log In) 버튼을 눌러 로그인합니다.

로그인했을 때 사용자 계정과 연관된 파일 목록이 있는 경우 플레이어 데이터 패널에 표시됩니다. 로그인(Log In) 버튼은 로그아웃(Log Out) 버튼으로 변경되며 패널 상단의 버튼이 활성화됩니다. 사용 가능한 기능은 다음과 같습니다.

  • 저장(Save) : 현재 편집 중인 파일 콘텐츠를 클라우드로 업로드합니다. 저장되지 않은 변경 사항은 프로그램을 닫을 때 손실됩니다.
  • 다운로드(Download) : 선택한 파일을 로컬 캐시로 다운로드하고 텍스트 에디터에서 엽니다. 이 작업을 수행하면 저장되지 않은 변경 사항이 모두 취소됩니다.
  • 복제(Duplicate) : 선택한 파일을 복사합니다. 사본은 원본 파일과 동일한 이름 뒤에 '_Copy'를 붙인 이름으로 파일 목록에 나타납니다.
  • 삭제(Delete) : 선택한 파일을 클라우드에서 삭제합니다.
  • 새로고침(Refresh) : 파일 목록을 새로고침하지만 아무 파일도 다운로드하지 않습니다.

콘솔 패널

콘솔 명령어 결과 등 프로그램 작동 도중 발생하는 로그 출력은 유저 인터페이스 좌측 하단에 나타나는 콘솔(Console) 패널 상단의 텍스트 영역에 표시됩니다. 플레이어 데이터(Player Data) 패널에서 버튼을 클릭하는 대신, 콘솔(Console) 패널 하단에 콘솔 명령어를 입력할 수도 있습니다.

지원하는 명령어는 다음과 같습니다.

명령어실행인자행동
ADDFILEFILE_NAME , FILE_DATA_PATH (선택 사항)FILE_NAME 이름으로 빈 파일을 생성하고 업로드하거나 로컬 디스크에서 파일을 업로드합니다(FILE_DATA_PATH 를 지정하는 경우).
GETFILEFILE_NAME클라우드에서 지정한 파일을 다운로드합니다.
DUPFILESOURCE_FILE_NAME , DESTINATION_FILE_NAMESOURCE_FILE_NAME 의 사본을 DESTINATION_FILE_NAME 이라는 새 파일로 만듭니다.
TESTFILEFILE_NAME , FILE_PATH플레이어 데이터 스토리지 인터페이스(Player Data Storage Interface) 에서 FILE_NAME 을 얻고 그 콘텐츠를 FILE_PATH 의 암호화되지 않은 로컬 파일과 비교합니다.
HELP(없음)상기 모든 명령어에 대한 도움말 정보를 콘솔 출력에 프린트합니다.

Game.cppGame::CreateConsoleCommands 함수에서 고유한 콘솔 명령어를 추가할 수 있습니다.

파일 패널

파일(File) 패널은 플레이어 데이터 패널에서 현재 선택된 파일의 콘텐츠를 표시합니다. 플레이어 데이터(Player Data) 패널 또는 콘솔(Console) 패널에서 파일을 저장하고 업로드하기 전에 이 창에서 파일 콘텐츠를 편집할 수 있습니다.

프로그레스 바 창

플레이어 데이터 스토리지 샘플이 수행하는 파일 전송 작업은 비동기 작업입니다. 이 작업을 수행하는 동안 샘플은 진행률 표시줄과 취소(Cancel) 버튼이 있는 팝업인 프로그레스 바(Progress Bar) 창을 표시합니다. 사용자는 취소(Cancel) 버튼을 클릭하여 파일 전송을 중단할 수 있습니다. 플레이어 데이터 스토리지 인터페이스는 여러 파일을 동시에 전송할 수 있지만, 이 샘플은 한 번에 하나의 파일만 전송합니다.

소스 코드 살펴보기

데이터 파일과 상호작용하는 코드 대부분은 Samples/PlayerDataStorage/Source/PlayerDataStorage.cpp 에 있습니다. 다음 함수는 플레이어 데이터 스토리지 인터페이스와 직접 상호작용합니다.

함수 이름행동
QueryList플레이어 데이터 엔트리 목록을 새로고침합니다.
StartFileDataDownload특정 파일의 콘텐츠를 얻습니다.
StartFileDataUpload특정 파일의 콘텐츠를 클라우드로 전송합니다.
AddFile새 파일을 업로드하거나 기존 파일을 덮어씁니다.
CopyFile파일의 사본을 만듭니다.
RemoveFile파일을 삭제하고 관련된 로컬 캐시 데이터를 지웁니다.
CancelCurrentTransfer현재 진행 중인 파일 전송을 취소합니다.

다음 함수는 플레이어 데이터 스토리지 인터페이스를 직접 사용하지 않지만, 로컬 시스템의 관련 데이터와 상호작용합니다. 파일에 대해 로컬로 캐시된 정보를 관리하는 시스템을 빌드할 때 기본 가이드로 유용합니다.

함수 이름행동
GetFileList로컬 파일 리스트를 반환합니다.
SetFileList로컬 파일 목록을 설정합니다.
GetLocalData지정된 파일에 대해 로컬로 캐시된 데이터를 반환합니다. 로컬로 사용 가능한 데이터가 없으면 NoData 플래그가 true 로 설정됩니다.
SetLocalData지정된 파일에 대한 로컬 데이터를 설정합니다.
EraseLocalData지정된 파일에 대한 로컬 데이터를 삭제합니다.