저장 및 로드 기능에 액세스하는 인터페이스입니다.
이 오브젝트는 싱글톤(SaveSystem이 하나뿐임)이기 때문에 어떠한 SaveSystem 오브젝트도 함수로 전달할 필요가 없습니다. 모든 함수는 SaveSystem 싱글톤에서 작동합니다.
다음 데이터 유형을 저장할 수 있습니다.
비동기 작업은 작업 중 진행률을 가져오는 데 사용되는 SaveToken 오브젝트를 반환합니다. 저장 중 사용되는 메모리의 점유를 풀어주려면 이 오브젝트를 닫아야 합니다. 그렇지 않으면 결국 게임을 실행하는 데 필요한 메모리가 부족해집니다.
Windows 및 iOS에서는 저장 시스템이 파일을 읽고 쓸 수 있는 루트 디렉토리를 설정해야 합니다. 프로젝트의 settings.ini 파일의 플랫폼별 save_dir 설정에서 이 작업을 수행합니다. 예를 들면 다음과 같습니다.
win32 = {
// ... other windows settings go here
save_dir = "%APPDATA%\\MyCompany\\MyProjectName\\Saves"
}
iOS = {
// ... other iOS settings go here
save_dir = "%SAVEDATA%/MyProjectName"
}
자세한 내용은 Stingray 엔진 settings.ini 파일 참조를 참조하십시오.
save_error_result() 및 load_error_result() 함수를 통해 반환될 수 있는 오류 코드입니다.
|
연결이 끊어져 로딩이 실패했습니다.
|
|
데이터를 찾을 수 없어 로딩이 실패했습니다.
|
|
정의되지 않은 다른 이유 때문에 저장 또는 로드가 실패했습니다.
|
|
사용할 수 있는 공간이 충분하지 않아 저장이 실패했습니다.
|
status() 함수가 반환할 수 있는 상태 코드입니다.
|
작업이 성공적으로 완료되었습니다.
|
|
작업 중 오류가 발생했습니다.
|
|
작업이 시작되었고, 아직 완료되지 않았습니다.
|
|
지정된 ID가 생성되지 않았거나 이미 점유가 풀린 상태입니다.
|
여기에서 설명하는 인터페이스는 PlayStation 4에만 해당합니다.
매개변수 id : | integer | 쿼리할 작업의 ID입니다. |
반환하는 항목 integer |
로드 중 발생하는 마지막 오류를 나타내는 오류 상수입니다.
|
|
로드 작업의 결과를 반환합니다.
|
매개변수 id : | integer | 쿼리할 작업의 ID입니다. |
반환하는 항목 save_system_ps4_info_files[] |
로드된 파일과 이 파일에서 로드된 데이터의 목록입니다.
[] 표기는 이 유형이 어레이임을 나타냅니다. 어레이는 구성원의 키가 순차적인 정수이며, 각 요소의 값이 표시된 유형의 인스턴스인 테이블입니다. |
결과의 형식은 stingray.SaveSystem.save()에 제공된 형식(경로와 값이 포함된 테이블)과 같습니다. 예를 들면 다음과 같습니다.
{
{path = "a", data = 3},
{path = "b", data = "Niklas"},
{path = "c/d", data = {1,2,3, {ha = "ho"}}},
}
|
save ( info ) : integer
info 테이블의 정보를 사용하여 새로운 비동기 저장 작업을 시작합니다.
|
매개변수 반환하는 항목
stingray.SaveSystem.status()를 사용하여 작업 진행 상황을 추적할 수 있습니다. 작업이 완료되면 stingray.SaveSystem.free()를 호출하여 작업에 사용된 메모리의 점유를 풀어주어야 합니다.
사용 샘플:
id = SaveSystem.save
{
user_id = user
name = "save2",
title = "A saved game",
subtitle = "This is the game saved",
icon = "images/icon0"
details = "It was a wonderful game",
files = {
{path = "a", data = 3},
{path = "b", data = "Niklas"},
{path = "c/d", data = {1,2,3, {ha = "ho"}}},
},
}
매개변수 id : | integer | 쿼리할 작업의 ID입니다. |
반환하는 항목
여기에서 설명하는 인터페이스는 Windows, Mac OS X, iOS 및 Android 플랫폼에 해당합니다.
|
게임이 로드해야 하는 파일을 알고 있는 경우 사용되는 자동 로드를 시작합니다.
|
매개변수 filename : | string | 로드하려는 데이터를 포함하고 있는 파일의 이름입니다. 디렉토리를 지정할 필요는 없습니다. a-z, 0-9 및 _ 문자만 파일 이름으로 사용할 수 있습니다. |
반환하는 항목
파일을 자동으로 읽습니다.
작업에 의해 할당된 메모리의 점유를 풀어주려면 반환된 토큰에 대해 stingray.SaveSystem.close()를 호출해야 합니다.
|
auto_save ( filename, data ) : stingray.SaveToken
게임이 데이터를 쓸 파일의 이름을 알고 있을 때 사용되는 자동 저장을 시작합니다.
|
매개변수 filename : | string | 저장된 데이터가 포함될 파일의 이름입니다. 디렉토리를 지정할 필요는 없습니다. a-z, 0-9 및 _ 문자만 파일 이름으로 사용할 수 있습니다. 파일이 존재하는 경우 자동으로 덮어써집니다. |
data : | table | 대개 저장해야 하는 데이터를 포함하고 있는 테이블입니다. |
반환하는 항목
작업에 의해 할당된 메모리의 점유를 풀어주려면 반환된 토큰에 대해 stingray.SaveSystem.close()를 호출해야 합니다.
|
SaveSystem 인터페이스의 다른 함수를 통해 가져온 각 토큰을 닫으려면 이 함수를 호출해야 합니다.
|
매개변수 반환하는 항목
작업에 사용된 메모리의 점유를 풀어줍니다.
|
SaveSystem 인터페이스가 현재 플랫폼에 존재하며, 사용이 가능한지 여부를 나타냅니다.
|
매개변수 | 이 함수는 어떠한 매개변수도 수용하지 않습니다. |
반환하는 항목 boolean |
SaveSystem 인터페이스를 사용할 수 있으면 true를, 그렇지 않으면 false를 반환합니다.
|
|
progress ( token ) : save_system_progress
저장 또는 로드 작업의 진행 상황에 관한 정보를 검색합니다.
|