[task] | extract_knowledge [title] | SortableDataStoragePages [category] | Misc [rephrased] | # SortableDataStoragePages 월드 내의 `SortableDataStorage` 데이터를 페이지 단위로 조회하는 기능을 제공합니다. 이 컴포넌트를 통해 대량의 데이터를 한 번에 로드하지 않고, 필요한 만큼만 순차적으로 가져올 수 있습니다. ## 개념 설명 `SortableDataStoragePages`는 서버에서 실행되며, 데이터베이스에 저장된 `SortableDataStorage` 항목들을 페이지 단위로 관리합니다. * **페이지 단위로 조회:** 전체 데이터를 한 번에 가져오지 않고, 현재 페이지에 해 [original] | 월드의 SortableDataStorage들을 조회할 수 있는 기능을 제공합니다. # Properties - **boolean IsLastPage [ReadOnly]** 현재 페이지가 마지막 페이지인지 확인합니다. # Methods - **table<SortableDataStorage> GetCurrentPageDatas() [ServerOnly]** 현재 페이지의 SortableDataStorage 목록을 가져옵니다. - **int32 LoadNextPageAndWait() [ServerOnly] [Yield]** [chunk_id] | Misc:713:0
[task] | diverse_qa [title] | UserDataStorage [category] | Misc [rephrased] | 질문: UserDataStorage는 어떤 환경에서 저장소를 공유합니까? 답변: 메이커와 출시 환경은 저장소를 공유하지 않습니다. 질문: UserDataStorage의 UserId 프로퍼티는 어떤 읽기/쓰기 특성을 가집니까? 답변: UserId 프로퍼티는 [ReadOnly] 속성을 가집니다. 질문: BatchDeleteAndWait 메서드는 어떤 실행 공간에서 사용 가능한가요? 답변: BatchDeleteAndWait 메서드는 [ServerOnly] 실행 공간에서 사용 가능합니다. 질문: BatchDeleteAndWait 메서 [original] | 유저의 데이터를 관리할 수 있는 저장소입니다. 메이커와 출시 환경은 저장소를 공유하지 않습니다. # Properties - **string UserId [ReadOnly]** 유저의 Id입니다. # Methods - **int32, List<string> BatchDeleteAndWait(List<string> keys) [ServerOnly] [Yield]** 입력한 키들로 데이터들을 삭제합니다. 에러 코드와 삭제에 성공한 키들을 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - **void BatchDel [chunk_id] | Misc:716:0
[task] | distill [title] | UserDataStorage [category] | Misc [rephrased] | # [Misc] UserDataStorage 유저 데이터 저장소. 메이커와 출시 환경의 저장소는 공유되지 않습니다. ## Properties - `string UserId [ReadOnly]`: 유저의 Id. ## Methods 모든 메서드는 `[ServerOnly]`입니다. `[Yield]` 메서드는 실행 중 스크립트 진행을 중단하며, `Async` 메서드는 비동기로 수행되어 완료 시 콜백 함수를 호출합니다. ### Delete (삭제) - `int32, List<string> BatchDeleteAndWait(List<s [original] | 유저의 데이터를 관리할 수 있는 저장소입니다. 메이커와 출시 환경은 저장소를 공유하지 않습니다. # Properties - **string UserId [ReadOnly]** 유저의 Id입니다. # Methods - **int32, List<string> BatchDeleteAndWait(List<string> keys) [ServerOnly] [Yield]** 입력한 키들로 데이터들을 삭제합니다. 에러 코드와 삭제에 성공한 키들을 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - **void BatchDel [chunk_id] | Misc:716:0
[task] | extract_knowledge [title] | SortableDataStorage [category] | Misc [rephrased] | # SortableDataStorage API ## 개념 설명 `SortableDataStorage`는 정렬 방향과 시간 범위를 지정하여 데이터를 조회하거나, 특정 키에 대한 값을 증가/저장/삭제하는 기능을 제공하는 서버 전용 데이터 저장소 서비스입니다. 모든 작업은 비동기(Async) 또는 동기(Yield) 방식 중 하나로 수행됩니다. - **동기(Yield) 방식**: `...AndWait`로 끝나는 메서드입니다. 작업 완료 시까지 스크립트 실행을 중단(Block)하며, 완료 후 즉시 결과 값을 반환합니다. - **비동기( [original] | rection으로 오름/내림차순 정렬을 설정할 수 있습니다. min, max로 설정한 범위 내의 데이터들을 조회할 수 있습니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 조회용 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32, DataStorageVersionPages GetVersionsAndWait(string key, SortDirection sortDirection, DateTime minDate, DateTime maxDate) [ServerOnly] [Yield [chunk_id] | Misc:710:2
[task] | diverse_qa [title] | Tweener [category] | Misc [rephrased] | 질문: Tweener 컴포넌트의 `AutoDestroy` 프로퍼티의 타입과 역할은 무엇인가요? 답변: `AutoDestroy`는 boolean 타입의 프로퍼티로, 트윈이 완료된 후 자동으로 파괴될지 여부를 설정합니다. 질문: `CurrentLoopCount` 프로퍼티가 ReadOnly로 표시된 이유는 무엇이며, 첫 번째 재생 시 값은 얼마인가요? 답변: `CurrentLoopCount`는 읽기 전용(ReadOnly) 프로퍼티로, 트윈에 설정된 반복 재생 횟수 중 현재 몇 번째 재생 중인지 나타내며, 첫 번째 재생 시 값은 1입니다 [original] | 트윈 동작을 나타냅니다. # Properties - **boolean AutoDestroy** 트윈이 완료된 후 자동 파괴 여부를 설정합니다. - **int32 CurrentLoopCount [ReadOnly]** 트윈에 설정된 반복 재생 횟수 중 몇 번째 재생인지를 나타냅니다. 첫 번째 재생 시 값은 1입니다. - **float Delay** 트윈의 총 재생 시간에서 재생 지연 시간을 설정합니다. 길이가 5초인 Tweener에 Delay를 2초로 설정하면 3초 동안만 Tween을 재생합니다. - **EaseType [chunk_id] | Misc:714:0
[task] | distill [title] | UserDataStoragePages [category] | Misc [rephrased] | # UserDataStoragePages 월드의 `UserDataStorage`를 페이지 단위로 조회합니다. ## Properties - `boolean IsLastPage [ReadOnly]`: 현재 페이지가 마지막인지 여부. ## Methods - `table<UserDataStorage> GetCurrentPageDatas() [ServerOnly]`: 현재 페이지의 `UserDataStorage` 목록 반환. - `int32 LoadNextPageAndWait() [ServerOnly] [Yield]`: 다음 페이지 [original] | 월드의 UserDataStorage들을 조회할 수 있는 기능을 제공합니다. # Properties - **boolean IsLastPage [ReadOnly]** 현재 페이지가 마지막 페이지인지 확인합니다. # Methods - **table<UserDataStorage> GetCurrentPageDatas() [ServerOnly]** 현재 페이지의 UserDataStorage 목록을 가져옵니다. - **int32 LoadNextPageAndWait() [ServerOnly] [Yield]** 다음 페이지를 불러 [chunk_id] | Misc:717:0
[task] | wikipedia [title] | UserDataStorage [category] | Misc [rephrased] | **UserDataStorage**는 메이플스토리 월드(MapleStory Worlds) 환경에서 유저의 데이터를 관리하기 위한 저장소 컴포넌트입니다. 이 저장소는 메이커 개발 환경과 실제 출시 환경 간에 데이터를 공유하지 않으며, 각 환경은 독립된 저장소를 사용하도록 구성되어 있습니다. 컴포넌트에는 유저 식별자를 나타내는 **UserId** 속성이 존재합니다. 이 속성은 문자열(string) 타입이며 읽기 전용(ReadOnly)으로 설정되어 있어, 스크립트를 통해 값을 수정할 수 없습니다. UserDataStorage는 데이터 [original] | 유저의 데이터를 관리할 수 있는 저장소입니다. 메이커와 출시 환경은 저장소를 공유하지 않습니다. # Properties - **string UserId [ReadOnly]** 유저의 Id입니다. # Methods - **int32, List<string> BatchDeleteAndWait(List<string> keys) [ServerOnly] [Yield]** 입력한 키들로 데이터들을 삭제합니다. 에러 코드와 삭제에 성공한 키들을 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - **void BatchDel [chunk_id] | Misc:716:0
[task] | wikipedia [title] | UserDataStoragePages [category] | Misc [rephrased] | # UserDataStoragePages **UserDataStoragePages**는 월드 내의 `UserDataStorage` 객체를 페이지 단위로 조회하기 위한 기능을 제공하는 스크립트 컴포넌트입니다. ## 프로퍼티 * **IsLastPage** (`boolean`, `[ReadOnly]`): 현재 위치된 페이지가 데이터의 마지막 페이지인지 여부를 확인합니다. ## 메서드 * **GetCurrentPageDatas()** (`table<UserDataStorage>`, `[ServerOnly]`): 현재 페이지 [original] | 월드의 UserDataStorage들을 조회할 수 있는 기능을 제공합니다. # Properties - **boolean IsLastPage [ReadOnly]** 현재 페이지가 마지막 페이지인지 확인합니다. # Methods - **table<UserDataStorage> GetCurrentPageDatas() [ServerOnly]** 현재 페이지의 UserDataStorage 목록을 가져옵니다. - **int32 LoadNextPageAndWait() [ServerOnly] [Yield]** 다음 페이지를 불러 [chunk_id] | Misc:717:0
[task] | knowledge_list [title] | Tweener [category] | Misc [rephrased] | 제시된 문서에 포함된 핵심 사실은 다음과 같습니다. 1. `Tweener` 컴포넌트의 `boolean AutoDestroy` 프로퍼티는 트윈이 완료된 후 자동 파괴 여부를 설정하는 데 사용됩니다. 2. `Tweener` 컴포넌트의 `int32 CurrentLoopCount` 프로퍼티는 읽기 전용(ReadOnly)이며, 현재 트윈이 설정된 반복 재생 횟수 중 몇 번째 재생인지 나타내며 첫 번째 재생 시 값은 1입니다. 3. `Tweener` 컴포넌트의 `float Delay` 프로퍼티는 트윈의 총 재생 시간에서 재생 지연 시간을 설 [original] | 트윈 동작을 나타냅니다. # Properties - **boolean AutoDestroy** 트윈이 완료된 후 자동 파괴 여부를 설정합니다. - **int32 CurrentLoopCount [ReadOnly]** 트윈에 설정된 반복 재생 횟수 중 몇 번째 재생인지를 나타냅니다. 첫 번째 재생 시 값은 1입니다. - **float Delay** 트윈의 총 재생 시간에서 재생 지연 시간을 설정합니다. 길이가 5초인 Tweener에 Delay를 2초로 설정하면 3초 동안만 Tween을 재생합니다. - **EaseType [chunk_id] | Misc:714:0
[task] | diverse_qa [title] | UserDataStorage [category] | Misc [rephrased] | 질문: `TransactDeleteAndWait`와 `TransactSetAndWait` 함수에서 한 번에 조작할 수 있는 최대 Key 개수는 몇 개인가요? 답변: 한 번에 최대 20개 Key까지 조작할 수 있습니다. 질문: `SetAndWait` 함수의 실행 특성은 어떻게 되나요? 답변: `[ServerOnly]` 및 `[Yield]` 속성을 가지며, 수행하는 동안 스크립트 실행을 중단합니다. 질문: `SetAsync` 함수의 작업이 완료되었을 때 callbackFunction으로 전달되는 인자는 무엇인가요? 답변: 에러 코드 [original] | 으로 오름/내림차순 정렬을 설정할 수 있습니다. minDate, maxDate로 설정한 시간대 내에서 생성된 버전을 조회할 수 있습니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 키, 조회용 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 SetAndWait(string key, string value) [ServerOnly] [Yield]** 입력한 키로 데이터를 저장합니다. 작업이 완료되면 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - ** [chunk_id] | Misc:716:2
[task] | distill [title] | UserDataStorage [category] | Misc [rephrased] | # [Misc] UserDataStorage UserDataStorage API는 키-값 데이터의 저장, 조회, 삭제를 제공합니다. 모든 메서드는 `[ServerOnly]` 공간에서 실행됩니다. * **동기(Wait)**: `[Yield]` 속성이 있으며, 호출 시 스크립트 실행을 중단하고 완료 시 에러 코드(`int32`)를 반환합니다. * **비동기(Async)**: 즉시 반환되며, 완료 시 `callbackFunction`을 통해 결과를 전달합니다. * **조회(Query)**: 오름/내림차순 정렬 및 `minDa [original] | 으로 오름/내림차순 정렬을 설정할 수 있습니다. minDate, maxDate로 설정한 시간대 내에서 생성된 버전을 조회할 수 있습니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 키, 조회용 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 SetAndWait(string key, string value) [ServerOnly] [Yield]** 입력한 키로 데이터를 저장합니다. 작업이 완료되면 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - ** [chunk_id] | Misc:716:2
[task] | knowledge_list [title] | UserDataStorage [category] | Misc [rephrased] | ```lua -- 핵심 사실 목록 ``` 1. `UserDataStorage`는 유저 데이터를 관리하는 저장소 컴포넌트이며, 메이커(Maker) 환경과 출시(Release) 환경은 서로 다른 저장소를 사용한다. 2. `UserId` 프로퍼티는 읽기 전용(`[ReadOnly]`)인 `string` 타입으로, 현재 유저의 고유 식별자를 담고 있다. 3. `BatchDeleteAndWait` 메서드는 `[ServerOnly] [Yield]` 제약이 있으며, 매개변수로 `List<string> keys`를 받아 데이터를 삭제하고, 실행 [original] | 유저의 데이터를 관리할 수 있는 저장소입니다. 메이커와 출시 환경은 저장소를 공유하지 않습니다. # Properties - **string UserId [ReadOnly]** 유저의 Id입니다. # Methods - **int32, List<string> BatchDeleteAndWait(List<string> keys) [ServerOnly] [Yield]** 입력한 키들로 데이터들을 삭제합니다. 에러 코드와 삭제에 성공한 키들을 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - **void BatchDel [chunk_id] | Misc:716:0
[task] | distill [title] | UserDataStorage [category] | Misc [rephrased] | # [Misc] UserDataStorage 데이터 저장/조회/삭제 API. 모든 메서드는 `[ServerOnly]`입니다. ## 저장 (Save) * **`int32 SaveAndWait(string key, string data, string tag) [Yield]`** * 데이터를 저장하고 에러 코드를 반환. 실행 중 스크립트 중단. * **`void SaveAsync(string key, string data, string tag, func<int32, DataStorageKeyInfo> callback [original] | 을 저장합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 저장에 성공한 DataStorageKeyInfo들과 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 DeleteAndWait(string key) [ServerOnly] [Yield]** 입력한 키로 데이터를 삭제하고 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - **void DeleteAsync(string key, func<int32, string> callbackFunction) [Serv [chunk_id] | Misc:716:1
[task] | knowledge_list [title] | UserDataStoragePages [category] | Misc [rephrased] | - `IsLastPage` 속성은 읽기 전용(ReadOnly) boolean 타입으로, 현재 페이지가 마지막 페이지인지를 확인합니다. - `GetCurrentPageDatas()` 메서드는 서버 전용(ServerOnly)으로 동작하며, 현재 페이지에 포함된 `UserDataStorage` 객체들의 목록을 `table<UserDataStorage>` 타입으로 반환합니다. - `LoadNextPageAndWait()` 메서드는 서버 전용(ServerOnly)으로 동작하며, 다음 페이지를 불러온 후 에러 코드를 `int32` 타입으로 반 [original] | 월드의 UserDataStorage들을 조회할 수 있는 기능을 제공합니다. # Properties - **boolean IsLastPage [ReadOnly]** 현재 페이지가 마지막 페이지인지 확인합니다. # Methods - **table<UserDataStorage> GetCurrentPageDatas() [ServerOnly]** 현재 페이지의 UserDataStorage 목록을 가져옵니다. - **int32 LoadNextPageAndWait() [ServerOnly] [Yield]** 다음 페이지를 불러 [chunk_id] | Misc:717:0
[task] | diverse_qa [title] | UserDataStorage [category] | Misc [rephrased] | 질문: `DeleteAndWait(string key)` 메서드의 실행 공간과 주요 특징은 무엇인가요? 답변: 이 메서드는 [ServerOnly] 환경에서 실행되며, 입력한 키로 데이터를 삭제하고 에러 코드를 반환합니다. 또한 [Yield] 속성을 가지므로 수행하는 동안 스크립트 실행을 중단합니다. 질문: `DeleteAsync` 메서드가 작업을 완료했을 때 callbackFunction으로 전달되는 값은 무엇인가요? 답변: 작업이 완료되면 에러 코드와 키(key)가 callbackFunction으로 전달된 함수에 함께 전달됩니다 [original] | 을 저장합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 저장에 성공한 DataStorageKeyInfo들과 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 DeleteAndWait(string key) [ServerOnly] [Yield]** 입력한 키로 데이터를 삭제하고 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - **void DeleteAsync(string key, func<int32, string> callbackFunction) [Serv [chunk_id] | Misc:716:1
[task] | distill [title] | UserDataStorage [category] | Misc [rephrased] | **UserDataStorage API** 모든 메서드는 `[ServerOnly]`이며, `[Yield]`가 붙은 동시성 메서드는 실행 중 스크립트를 중단합니다. 비동기 메서드는 `callbackFunction`으로 결과를 전달합니다. **1. 데이터 저장 (Set)** * **`int32, List<DataStorageKeyInfo> SetByInfoAndWait(Dictionary<DataStorageKeyInfo, string> keyValues)`** * `keyValues`의 데이터를 저장합니다. [original] | ing> keyValues) [ServerOnly] [Yield]** 입력한 DataStorageKeyInfo들로 데이터를 저장합니다. 모든 데이터 저장에 성공하면 에러 코드와 성공한 DataStorageKeyInfo를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. 모든 작업 중 하나라도 실패한다면, 함수 호출이 실패합니다. 한 번에 최대 20개 Key까지 조작 할 수 있습니다. - **void TransactSetByInfoAsync(Dictionary<DataStorageKeyInfo, string> keyValue [chunk_id] | Misc:716:3
[task] | wikipedia [title] | UserDataStorage [category] | Misc [rephrased] | `UserDataStorage` 컴포넌트는 사용자 데이터를 저장, 삭제, 조회하기 위한 다양한 메서드를 제공합니다. 대부분의 메서드는 서버에서만 실행 가능하며, 동기(Wait) 방식과 비동기(Async) 방식으로 나뉩니다. 동기 방식 메서드는 `[Yield]` 특성이 적용되어 작업이 완료될 때까지 스크립트 실행을 중단하고 결과를 즉시 반환하는 반면, 비동기 방식 메서드는 작업을 백그라운드에서 수행한 후 완료 시점에 콜백 함수를 통해 결과를 전달합니다. 데이터 저장 및 삭제 기능으로, 먼저 `DeleteAndWait` 메서드를 사용 [original] | 을 저장합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 저장에 성공한 DataStorageKeyInfo들과 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 DeleteAndWait(string key) [ServerOnly] [Yield]** 입력한 키로 데이터를 삭제하고 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - **void DeleteAsync(string key, func<int32, string> callbackFunction) [Serv [chunk_id] | Misc:716:1
[task] | diverse_qa [title] | UserDataStoragePages [category] | Misc [rephrased] | 질문: `UserDataStoragePages` 컴포넌트는 어떤 기능을 제공합니까? 답변: 월드의 UserDataStorage들을 조회할 수 있는 기능을 제공합니다. 질문: `IsLastPage` 프로퍼티의 데이터 타입과 속성은 무엇입니까? 답변: `IsLastPage`의 데이터 타입은 `boolean`이며, 속성은 `[ReadOnly]`입니다. 질문: `IsLastPage` 프로퍼티는 무엇을 확인하는 데 사용됩니까? 답변: 현재 페이지가 마지막 페이지인지 확인합니다. 질문: `GetCurrentPageDatas()` 메서드는 [original] | 월드의 UserDataStorage들을 조회할 수 있는 기능을 제공합니다. # Properties - **boolean IsLastPage [ReadOnly]** 현재 페이지가 마지막 페이지인지 확인합니다. # Methods - **table<UserDataStorage> GetCurrentPageDatas() [ServerOnly]** 현재 페이지의 UserDataStorage 목록을 가져옵니다. - **int32 LoadNextPageAndWait() [ServerOnly] [Yield]** 다음 페이지를 불러 [chunk_id] | Misc:717:0
[task] | knowledge_list [title] | UserDataStorage [category] | Misc [rephrased] | 제공된 문서 텍스트는 시작 부분이 일부 절단되어 있으며, `TransactSetByInfoAndWait` 메서드의 정의가 중간에 끊겨 있습니다. 따라서 제공된 원문에 명시된 정보만 바탕으로 핵심 사실을 추출합니다. * `SetAndWait(string key, string value)` 메서드는 `[ServerOnly]` 및 `[Yield]` 속성을 가지며, 입력한 키와 값으로 데이터를 저장하고 작업 완료 시 에러 코드를 반환하되, 수행 중 스크립트 실행을 중단합니다. * `SetAsync(string key, string [original] | 으로 오름/내림차순 정렬을 설정할 수 있습니다. minDate, maxDate로 설정한 시간대 내에서 생성된 버전을 조회할 수 있습니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 키, 조회용 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 SetAndWait(string key, string value) [ServerOnly] [Yield]** 입력한 키로 데이터를 저장합니다. 작업이 완료되면 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - ** [chunk_id] | Misc:716:2
[task] | wikipedia [title] | UserDataStorage [category] | Misc [rephrased] | `UserDataStorage` 컴포넌트는 서버 측에서만 사용 가능하며, 데이터의 저장과 갱신을 위한 동기 및 비동기 메서드를 제공합니다. 데이터 조작 시 특정 제약 사항과 에러 처리 로직이 적용됩니다. 데이터 저장을 위한 메서드로, 입력된 `DataStorageKeyInfo` 목록을 기반으로 데이터를 저장하는 기능이 존재합니다. 이 작업은 최대 20개의 Key를 한 번에 조작할 수 있습니다. 동기식 메서드는 수행 중 스크립트 실행을 중단(Yield)하며, 모든 저장 작업이 성공해야만 에러 코드와 성공한 `DataStorageKe [original] | ing> keyValues) [ServerOnly] [Yield]** 입력한 DataStorageKeyInfo들로 데이터를 저장합니다. 모든 데이터 저장에 성공하면 에러 코드와 성공한 DataStorageKeyInfo를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. 모든 작업 중 하나라도 실패한다면, 함수 호출이 실패합니다. 한 번에 최대 20개 Key까지 조작 할 수 있습니다. - **void TransactSetByInfoAsync(Dictionary<DataStorageKeyInfo, string> keyValue [chunk_id] | Misc:716:3
[task] | knowledge_list [title] | UserDataStorage [category] | Misc [rephrased] | 제시된 문서 텍스트에는 `[Misc] UserDataStorage`의 일부 메서드만 포함되어 있으며, `Save` 관련 메서드의 정의는 텍스트가 잘려나간 상태로 `DeleteAndWait`부터 시작합니다. 또한 문서 마지막에 `GetVersionsAsync`의 설명이 중간에 끊겨 있습니다. 따라서 **제공된 원문에 명확히 명시된 정보만** 추출하여 정리합니다. 1. `DeleteAndWait(string key)` 메서드는 `[ServerOnly]` 및 `[Yield]` 제약이 있으며, 입력한 키로 데이터를 삭제하고 에러 코드를 [original] | 을 저장합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 저장에 성공한 DataStorageKeyInfo들과 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 DeleteAndWait(string key) [ServerOnly] [Yield]** 입력한 키로 데이터를 삭제하고 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - **void DeleteAsync(string key, func<int32, string> callbackFunction) [Serv [chunk_id] | Misc:716:1
[task] | knowledge_list [title] | UserDataStorage [category] | Misc [rephrased] | 제시된 문서에 포함된 핵심 사실을 바탕으로 추출한 목록은 다음과 같습니다. 1. `TransactSetByInfoAndWait(Dictionary<DataStorageKeyInfo, string> keyValues)` 함수는 `[ServerOnly]` 및 `[Yield]` 제약이 있으며, 입력된 `DataStorageKeyInfo`들을 데이터 저장소에 저장하고, 모든 저장 작업이 성공하면 에러 코드와 성공한 `DataStorageKeyInfo` 목록을 반환하며, 수행 중 스크립트 실행을 중단하며, 한 번에 최대 20개의 Key만 [original] | ing> keyValues) [ServerOnly] [Yield]** 입력한 DataStorageKeyInfo들로 데이터를 저장합니다. 모든 데이터 저장에 성공하면 에러 코드와 성공한 DataStorageKeyInfo를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. 모든 작업 중 하나라도 실패한다면, 함수 호출이 실패합니다. 한 번에 최대 20개 Key까지 조작 할 수 있습니다. - **void TransactSetByInfoAsync(Dictionary<DataStorageKeyInfo, string> keyValue [chunk_id] | Misc:716:3
[task] | extract_knowledge [title] | Tweener [category] | Misc [rephrased] | # Tweener `Tweener` 컴포넌트는 트윈(Tween) 동작을 제어하고 상태를 관리하기 위한 API를 제공합니다. ## 1. 개념 설명 `Tweener`는 애니메이션이나 값 변화의 시간 흐름을 제어하는 객체입니다. 이 컴포넌트를 통해 트윈의 재생, 일시정지, 반복, 속도 조절(지연 포함), 완료 처리 등 생애주기(Lifecycle)를 관리할 수 있습니다. 또한 트윈의 현재 진행 상태(진행률, 루프 횟수)를 읽을 수 있으며, 특정 이벤트(완료) 발생 시 콜백을 등록하는 기능도 지원합니다. ## 2. API 사용법 # [original] | 트윈 동작을 나타냅니다. # Properties - **boolean AutoDestroy** 트윈이 완료된 후 자동 파괴 여부를 설정합니다. - **int32 CurrentLoopCount [ReadOnly]** 트윈에 설정된 반복 재생 횟수 중 몇 번째 재생인지를 나타냅니다. 첫 번째 재생 시 값은 1입니다. - **float Delay** 트윈의 총 재생 시간에서 재생 지연 시간을 설정합니다. 길이가 5초인 Tweener에 Delay를 2초로 설정하면 3초 동안만 Tween을 재생합니다. - **EaseType [chunk_id] | Misc:714:0
[task] | distill [title] | AreaParticleComponent [category] | Components [rephrased] | # AreaParticleComponent ## Event Handler * **OrderInLayerChangedEvent**: `OrderInLayer` 변경 시 발생. * **ParticleEmitEndEvent**: 파티클 방출 종료 시 발생. * **ParticleEmitStartEvent**: 파티클 입자 방출 시작 시 발생. * **ParticleLoopEvent**: `Loop` 프로퍼티가 활성화된 경우, 방출 주기가 돌아와 반복될 때 발생. * **SortingLayerChangedEvent**: [original] | - **OrderInLayerChangedEvent** Component의 OrderInLayer가 변경되었을 때 발생하는 이벤트입니다. - **ParticleEmitEndEvent** 파티클의 방출이 종료되었을 때 BaseParticleComponent에서 발생하는 이벤트입니다. - **ParticleEmitStartEvent** 파티클 입자 방출이 시작될 때 발생하는 이벤트입니다. - **ParticleLoopEvent** Loop 프로퍼티가 활성화 된 경우, 파티클의 방출 주기가 돌아와서 방출을 반복할 때 발생하 [chunk_id] | Components:769:1
[task] | extract_knowledge [title] | UserDataStorage [category] | Misc [rephrased] | # [Misc] UserDataStorage ## 1. 개념 설명 `UserDataStorage`는 유저의 데이터를 관리하기 위한 저장소 컴포넌트입니다. 이 저장소를 통해 유저의 고유 데이터를 서버에서 조회, 저장, 삭제할 수 있습니다. 메이커(개발) 환경과 출시(운영) 환경은 저장소를 공유하지 않으므로, 환경 간 데이터 독립성이 보장됩니다. ## 2. API 사용법 ### Properties * **`string UserId` [ReadOnly]** * 현재 관리 대상 유저의 ID를 반환합니다. ### M [original] | 유저의 데이터를 관리할 수 있는 저장소입니다. 메이커와 출시 환경은 저장소를 공유하지 않습니다. # Properties - **string UserId [ReadOnly]** 유저의 Id입니다. # Methods - **int32, List<string> BatchDeleteAndWait(List<string> keys) [ServerOnly] [Yield]** 입력한 키들로 데이터들을 삭제합니다. 에러 코드와 삭제에 성공한 키들을 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - **void BatchDel [chunk_id] | Misc:716:0
[task] | diverse_qa [title] | UserDataStorage [category] | Misc [rephrased] | 질문: `TransactSetByInfoAndWait` 함수는 어떤 실행 공간에서 사용되며, 어떤 특성을 가진 함수인가요? 답변: `TransactSetByInfoAndWait` 함수는 `[ServerOnly]` 실행 공간에서 사용되며, `[Yield]` 속성을 가져 수행하는 동안 스크립트 실행을 중단합니다. 질문: `TransactSetByInfoAndWait` 함수를 통해 한 번에 조작할 수 있는 최대 Key 개수는 몇 개인가요? 답변: 한 번에 최대 20개 Key까지 조작할 수 있습니다. 질문: `TransactSetByI [original] | ing> keyValues) [ServerOnly] [Yield]** 입력한 DataStorageKeyInfo들로 데이터를 저장합니다. 모든 데이터 저장에 성공하면 에러 코드와 성공한 DataStorageKeyInfo를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. 모든 작업 중 하나라도 실패한다면, 함수 호출이 실패합니다. 한 번에 최대 20개 Key까지 조작 할 수 있습니다. - **void TransactSetByInfoAsync(Dictionary<DataStorageKeyInfo, string> keyValue [chunk_id] | Misc:716:3
[task] | distill [title] | AreaParticleComponent [category] | Components [rephrased] | # AreaParticleComponent 생성 영역을 조절하는 파티클(눈, 비, 안개 등) 효과를 제공합니다. ## Properties ### AreaParticleComponent - **Vector2 AreaOffset [Sync]**: 엔티티 기준 생성 범위 중심점 위치. - **Vector2 AreaSize [Sync]**: 파티클 생성 범위의 너비와 높이. - **AreaParticleType ParticleType [Sync]**: 생성할 파티클 타입. ### inherited from BaseParticleCo [original] | 생성 영역을 조절할 수 있는 파티클 효과를 만드는 기능을 제공합니다. 눈, 비, 안개 같은 파티클이 해당합니다. # Properties - **Vector2 AreaOffset [Sync]** 엔티티를 기준으로 생성 범위의 중심점 위치를 설정합니다. - **Vector2 AreaSize [Sync]** 파티클 생성 범위의 너비와 높이를 지정합니다. - **AreaParticleType ParticleType [Sync]** 생성할 파티클 타입을 설정합니다. ##### inherited from BaseParticle [chunk_id] | Components:769:0
[task] | knowledge_list [title] | AreaParticleComponent [category] | Components [rephrased] | 제공된 문서에 포함된 핵심 사실은 다음과 같습니다. 1. `OrderInLayerChangedEvent`는 `AreaParticleComponent`의 `OrderInLayer` 프로퍼티 값이 변경되었을 때 발생하는 이벤트입니다. 2. `ParticleEmitEndEvent`는 파티클 입자의 방출이 종료되었을 때 `BaseParticleComponent`에서 발생하는 이벤트입니다. 3. `ParticleEmitStartEvent`는 파티클 입자의 방출이 시작될 때 발생하는 이벤트입니다. 4. `ParticleLoopEvent`는 [original] | - **OrderInLayerChangedEvent** Component의 OrderInLayer가 변경되었을 때 발생하는 이벤트입니다. - **ParticleEmitEndEvent** 파티클의 방출이 종료되었을 때 BaseParticleComponent에서 발생하는 이벤트입니다. - **ParticleEmitStartEvent** 파티클 입자 방출이 시작될 때 발생하는 이벤트입니다. - **ParticleLoopEvent** Loop 프로퍼티가 활성화 된 경우, 파티클의 방출 주기가 돌아와서 방출을 반복할 때 발생하 [chunk_id] | Components:769:1
[task] | wikipedia [title] | UserDataStorage [category] | Misc [rephrased] | # UserDataStorage `UserDataStorage`는 서버 측에서 사용자 데이터를 저장, 조회, 삭제하기 위한 API를 제공합니다. 이 문서에서 설명하는 메서드들은 모두 `[ServerOnly]`로 지정되어 있어 서버 환경에서만 실행됩니다. 데이터 정렬 및 시간대 기반 조회 기능은 오름차순 또는 내림차순 정렬을 설정할 수 있으며, `minDate`와 `maxDate`로 설정한 시간대 내에서 생성된 버전을 조회할 수 있습니다. 이러한 조회 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 키, 조회용 객체와 함께 [original] | 으로 오름/내림차순 정렬을 설정할 수 있습니다. minDate, maxDate로 설정한 시간대 내에서 생성된 버전을 조회할 수 있습니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 키, 조회용 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다. - **int32 SetAndWait(string key, string value) [ServerOnly] [Yield]** 입력한 키로 데이터를 저장합니다. 작업이 완료되면 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. - ** [chunk_id] | Misc:716:2
[task] | extract_knowledge [title] | UserDataStorage [category] | Misc [rephrased] | # UserDataStorage: 데이터 저장 및 갱신 ## 개념 설명 `UserDataStorage`는 서버 측에서 사용자 데이터를 영속적으로 저장하고 관리하기 위한 API입니다. 이 API는 데이터를 저장(Write)하고, 기존 값이 기대하는 값과 일치하는지 확인한 후 갱신(Update)하는 작업을 수행합니다. 모든 조작은 `ServerOnly` 환경에서만 가능하며, 동기(Synchronous) 방식과 비동기(Asynchronous) 방식으로 나뉩니다. - **동기 방식 (`Wait`/`Yield`)**: 작업이 완료될 때까 [original] | ing> keyValues) [ServerOnly] [Yield]** 입력한 DataStorageKeyInfo들로 데이터를 저장합니다. 모든 데이터 저장에 성공하면 에러 코드와 성공한 DataStorageKeyInfo를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. 모든 작업 중 하나라도 실패한다면, 함수 호출이 실패합니다. 한 번에 최대 20개 Key까지 조작 할 수 있습니다. - **void TransactSetByInfoAsync(Dictionary<DataStorageKeyInfo, string> keyValue [chunk_id] | Misc:716:3