[task] | knowledge_list [title] | DataStorage [category] | Misc [rephrased] | 제공된 문서에 근거하여, `[Misc] DataStorage` 타입 및 관련 메서드의 핵심 사실을 추출한 목록은 다음과 같습니다. 1. `DataStorage` 타입은 더 이상 사용하지 않는 비권장(Deprecated) 타입이며, 용도에 따라 `DataStorageService`의 `GetGlobalDataStorage(string)`, `GetUserDataStorage(string)`, `GetCreatorDataStorage()`, 또는 `GetSortableDataStorage(string)` 메서드를 사용하여 대체해야 합 [original] | 더는 사용하지 않는 타입입니다. 용도에 맞게 DataStorageService의 GetGlobalDataStorage(string), GetUserDataStorage(string), GetCreatorDataStorage(), GetSortableDataStorage(string)를 사용하세요. # Methods - **string GetAndWait(string key) [Deprecated] [ServerOnly] [Yield]** 더는 사용하지 않는 함수입니다. 용도에 맞게 GlobalDataStorage, UserD [chunk_id] | Misc:632:0
[task] | extract_knowledge [title] | StateType [category] | Misc [rephrased] | # StateType `StateType`은 `StateComponent` 및 `StateSet`에서 사용되는 상태(State)를 표현하는 타입입니다. 개발자는 `StateComponent` 또는 `StateSet`에서 활용할 수 있도록 자체적인 `StateType`을 정의할 수 있습니다. ## Properties `StateType` 객체는 다음과 같은 속성을 가집니다. * **StateComponent ParentComponent [ReadOnly]** * **설명**: 이 `StateType`을 소유하고 [original] | StateComponent 및 StateSet에서 사용되는 State를 표현합니다. 나만의 StateType을 정의하여 StateComponent 또는 StateSet에서 활용할 수 있습니다. # Properties - **StateComponent ParentComponent [ReadOnly]** 이 State를 소유한 StateComponent입니다. [chunk_id] | Misc:638:0
[task] | diverse_qa [title] | StateType [category] | Misc [rephrased] | 질문: StateType은 어떤 컴포넌트나 객체에서 사용되는 State를 표현하나요? 답변: StateComponent 및 StateSet에서 사용되는 State를 표현합니다. 질문: StateType의 'StateComponent ParentComponent' 프로퍼티는 어떤 속성을 가지나요? 답변: ReadOnly(읽기 전용) 속성을 가집니다. 질문: 'StateComponent ParentComponent' 프로퍼티는 어떤 정보를 담고 있나요? 답변: 이 State를 소유한 StateComponent의 정보를 담고 있습니다 [original] | StateComponent 및 StateSet에서 사용되는 State를 표현합니다. 나만의 StateType을 정의하여 StateComponent 또는 StateSet에서 활용할 수 있습니다. # Properties - **StateComponent ParentComponent [ReadOnly]** 이 State를 소유한 StateComponent입니다. [chunk_id] | Misc:638:0
[task] | diverse_qa [title] | EntityRef [category] | Misc [rephrased] | 질문: EntityRef는 어떤 목적으로 사용되는 컴포넌트 또는 타입인가요? 답변: EntityRef는 엔티티를 참조하기 위해 사용되며, 엔티티의 Id를 저장해 두었다가 실제로 접근이 필요할 때 해당 엔티티를 찾아주는 역할을 합니다. 질문: EntityRef의 EntityId 프로퍼티는 어떤 접근 권한을 가지나요? 답변: EntityId 프로퍼티는 [ReadOnly] 속성을 가지므로 읽기 전용으로만 접근할 수 있습니다. 질문: EntityPath 프로퍼티의 상태는 어떻게 되나요? 답변: EntityPath 프로퍼티는 [Depre [original] | 엔티티를 참조합니다. 엔티티의 Id를 갖고 있다가 실제로 접근이 필요할 때 엔티티를 찾습니다. # Properties - **string EntityId [ReadOnly]** 참조하고 있는 Entity의 Id입니다. - **string EntityPath [Deprecated] [ReadOnly]** 더는 사용하지 않는 프로퍼티입니다. # Constructors - **EntityRef(Entity entity)** 지정한 entity를 참조하는 EntityRef를 초기화합니다. - **EntityRef(stri [chunk_id] | Misc:635:0
[task] | distill [title] | RectTileInfo [category] | Misc [rephrased] | `RectTileInfo`는 타일셋 내 개별 타일의 정보를 담는 구조체입니다. ### Properties * **`int32 Index` [ReadOnly]**: 타일셋 내 자동 부여 인덱스 (1부터 시작). * **`boolean IsCollidable` [ReadOnly]**: 충돌 여부. `true`일 경우 플레이어 이동 차단. * **`string Name` [ReadOnly]**: 타일 이름. * **`string SpriteRUID` [ReadOnly]**: 스프라이트 RUID. [original] | 타일셋에 정의된 각 타일의 정보를 나타냅니다. # Properties - **int32 Index [ReadOnly]** 자동으로 부여되는 타일셋의 인덱스 번호입니다. 1부터 시작합니다. - **boolean IsCollidable [ReadOnly]** 충돌 여부입니다. true일 경우 플레이어는 타일 위를 지나갈 수 없습니다. - **string Name [ReadOnly]** 타일의 이름입니다. - **string SpriteRUID [ReadOnly]** 스프라이트의 RUID입니다. [chunk_id] | Misc:640:0
[task] | wikipedia [title] | CollisionSimulator [category] | Misc [rephrased] | # CollisionSimulator CollisionSimulator 컴포넌트는 다양한 충돌 검사를 수행하기 위한 메서드들을 제공합니다. 이 컴포넌트는 특정 충돌 그룹(Collision Group) 또는 충돌 그룹 이름에 따라 지정된 기하학적 형태(Shape)와 충돌하는 엔티티나 컴포넌트를 찾는 기능을 포함합니다. ## 메서드 CollisionSimulator는 충돌 검사의 범위를 제어하기 위해 단일 컴포넌트 반환용, 모든 컴포넌트 반환용, 그리고 성능 최적화를 위한 빠른(Fast) 버전의 메서드들을 제공합니다. 또한 직사각 [original] | 여러가지 충돌 검사 기능을 제공합니다. # Methods - **Component Overlap(CollisionGroup collisionGroup, Shape shape)** 입력한 모양과 겹치는 첫 번째 컴포넌트를 찾아 반환합니다. - **Component Overlap(string collisionGroupName, Shape shape)** 입력한 모양과 겹치는 첫 번째 컴포넌트를 찾아 반환합니다. - **Component Overlap(table groups, Shape shape)** 입력한 모양과 겹치는 [chunk_id] | Misc:631:0
[task] | wikipedia [title] | RectTileInfo [category] | Misc [rephrased] | `RectTileInfo`는 타일셋에 정의된 개별 타일의 정보를 나타내는 자료 구조입니다. 이 구조체는 읽기 전용(ReadOnly) 속성으로만 구성됩니다. `int32` 타입의 `Index` 속성은 타일셋 내에서 자동으로 부여되는 인덱스 번호를 나타내며, 1부터 시작합니다. `boolean` 타입의 `IsCollidable` 속성은 해당 타일의 충돌 여부를 나타내며, `true`인 경우 플레이어는 해당 타일 위를 지나갈 수 없습니다. `string` 타입의 `Name` 속성은 타일의 이름을, `string` 타입의 `SpriteR [original] | 타일셋에 정의된 각 타일의 정보를 나타냅니다. # Properties - **int32 Index [ReadOnly]** 자동으로 부여되는 타일셋의 인덱스 번호입니다. 1부터 시작합니다. - **boolean IsCollidable [ReadOnly]** 충돌 여부입니다. true일 경우 플레이어는 타일 위를 지나갈 수 없습니다. - **string Name [ReadOnly]** 타일의 이름입니다. - **string SpriteRUID [ReadOnly]** 스프라이트의 RUID입니다. [chunk_id] | Misc:640:0
[task] | extract_knowledge [title] | CollisionSimulator [category] | Misc [rephrased] | # CollisionSimulator `CollisionSimulator` 컴포넌트는 지정된 충돌 그룹(Collision Group)과 형상(Shape)을 기반으로 다른 엔티티의 충돌 컴포넌트와 겹치는지 여부를 검사하는 기능을 제공합니다. 단일 대상 검색(`Overlap`), 전체 대상 검색(`OverlapAll`), 그리고 성능 최적화를 위한 출력 리스트 방식(`OverlapAllFast`)의 메서드를 제공합니다. ## API 사용법 모든 메서드는 충돌을 검사할 대상의 범위를 지정하는 **Collision Group** 인자 [original] | 여러가지 충돌 검사 기능을 제공합니다. # Methods - **Component Overlap(CollisionGroup collisionGroup, Shape shape)** 입력한 모양과 겹치는 첫 번째 컴포넌트를 찾아 반환합니다. - **Component Overlap(string collisionGroupName, Shape shape)** 입력한 모양과 겹치는 첫 번째 컴포넌트를 찾아 반환합니다. - **Component Overlap(table groups, Shape shape)** 입력한 모양과 겹치는 [chunk_id] | Misc:631:0
[task] | wikipedia [title] | CollisionSimulator [category] | Misc [rephrased] | # CollisionSimulator **CollisionSimulator**는 메이플스토리 월드(MapleStory Worlds)의 mLua 스크립트 환경에서 제공되는 충돌 시뮬레이터 관련 예제 컴포넌트입니다. 이 컴포넌트는 사용자의 화면 터치 입력을 감지하여, 엔티티의 중심 위치에서 터치된 지점까지 레이캐스트(Raycast)를 수행하고 감지된 타겟 엔티티를 파괴하는 기능을 수행합니다. ## 동작 원리 이 컴포넌트는 `InputService`의 `ScreenTouchEvent` 이벤트 핸들러를 통해 화면 터치 이벤트를 수신합 [original] | 화면을 터치하면 엔티티 중심에서 터치한 곳까지 `Raycast()`를 수행하고, 감지한 엔티티를 파괴하는 예제입니다. ```lua Method: [server] void RaycastAndDestroyEntity (Vector3 endPoint) { local startPoint = self.Entity.TransformComponent.WorldPosition local diff = endPoint - startPoint local distance = diff:Magnitude() local direction = diff [chunk_id] | Misc:631:3
[task] | knowledge_list [title] | CollisionSimulator [category] | Misc [rephrased] | CollisionSimulator 컴포넌트는 다양한 충돌 검사 기능을 제공하며, 모든 메서드는 `Shape` 객체 또는 기하학적 좌표 인자를 사용하여 충돌 그룹과 겹치는 컴포넌트를 검색합니다. 1. `Component Overlap(CollisionGroup collisionGroup, Shape shape)` 메서드는 지정된 `CollisionGroup` 타입의 충돌 그룹과 입력된 `Shape`와 겹치는 첫 번째 컴포넌트를 찾아 `Component` 타입으로 반환합니다. 2. `Component Overlap(string col [original] | 여러가지 충돌 검사 기능을 제공합니다. # Methods - **Component Overlap(CollisionGroup collisionGroup, Shape shape)** 입력한 모양과 겹치는 첫 번째 컴포넌트를 찾아 반환합니다. - **Component Overlap(string collisionGroupName, Shape shape)** 입력한 모양과 겹치는 첫 번째 컴포넌트를 찾아 반환합니다. - **Component Overlap(table groups, Shape shape)** 입력한 모양과 겹치는 [chunk_id] | Misc:631:0
[task] | knowledge_list [title] | RectTileInfo [category] | Misc [rephrased] | ```lua -- [Misc] RectTileInfo: 타일셋에 정의된 각 타일의 정보를 나타내는 데이터 구조입니다. -- 아래 속성들은 모두 [ReadOnly]이며, 직접 수정할 수 없습니다. -- 1. Index: int32 타입의 읽기 전용 속성으로, 타일셋 내 자동 부여된 인덱스 번호를 나타내며 1부터 시작합니다. -- 2. IsCollidable: boolean 타입의 읽기 전용 속성으로, 충돌 여부를 나타내며 true일 경우 플레이어는 해당 타일 위를 지나갈 수 없습니다. -- 3. Name: string 타입의 읽기 [original] | 타일셋에 정의된 각 타일의 정보를 나타냅니다. # Properties - **int32 Index [ReadOnly]** 자동으로 부여되는 타일셋의 인덱스 번호입니다. 1부터 시작합니다. - **boolean IsCollidable [ReadOnly]** 충돌 여부입니다. true일 경우 플레이어는 타일 위를 지나갈 수 없습니다. - **string Name [ReadOnly]** 타일의 이름입니다. - **string SpriteRUID [ReadOnly]** 스프라이트의 RUID입니다. [chunk_id] | Misc:640:0
[task] | distill [title] | WorldShopProduct [category] | Misc [rephrased] | ```lua -- WorldShopProduct -- WorldShopService를 통해 얻은 상품 정보 구조체입니다. Properties: - string Description: 상품 설명 - DateTime EndSalesPeriod: 판매 종료 일시 (HasSalesPeriod가 true일 때만 유효) - boolean HasSalesPeriod: 판매 기간 설정 여부 - string Id: 상품 식별자 - string Name: 상품 이름 - int32 Price: 상품 가격 - DateTime StartSalesPeri [original] | WorldShopService를 통해 얻은 상품의 정보입니다. # Properties - **string Description** 상품의 설명입니다. - **DateTime EndSalesPeriod** 판매 종료 일시입니다. HasSalesPeriod가 true일 때만 유효한 값을 가집니다. - **boolean HasSalesPeriod** 판매 기간이 설정되어 있는지 확인합니다. - **string Id** 상품의 식별자입니다. - **string Name** 상품의 이름입니다. - **int32 Pric [chunk_id] | Misc:641:0
[task] | wikipedia [title] | CollisionSimulator [category] | Misc [rephrased] | **CollisionSimulator** CollisionSimulator는 게임 내 물리적 충돌 검사를 수행하기 위한 메서드들을 제공하는 컴포넌트이다. 이 컴포넌트는 특정 지점이나 선분, 광선과 충돌하는 객체를 찾아내는 기능을 포함하며, 충돌 그룹(CollisionGroup)을 기준으로 검사를 수행할 수 있다. 충돌 그룹은 `CollisionGroup` 타입 객체, 그룹 이름을 나타내는 `string`, 또는 `CollisionGroups`의 요소들로 이루어진 순차 테이블(`table`)의 세 가지 형태로 지정할 수 있다. * [original] | oupName, Vector2 point1, Vector2 point2)** 입력한 선과 겹치는 모든 컴포넌트를 찾아 반환합니다. - **int32 OverlapLineAllFast(string collisionGroupName, Vector2 point1, Vector2 point2, table outputList)** 입력한 선과 겹치는 모든 컴포넌트를 찾고, 그 결과를 outputList에 삽입합니다. 결과의 개수를 반환합니다. - **Component OverlapPoint(CollisionGroup collision [chunk_id] | Misc:631:1
[task] | distill [title] | WorldShopProductPages [category] | Misc [rephrased] | # WorldShopProductPages `WorldShopService` 검색 결과의 페이지 단위 조회 컴포넌트입니다. ## Properties - **boolean IsLastPage**: 현재 페이지가 검색 결과의 마지막 페이지인지 여부. ## Methods - **table<WorldShopProduct> GetCurrentPageDatas()**: 현재 페이지의 상품 정보 목록 반환 (최대 25개). - **void MoveToNextPageAndWait() [Yield]**: 다음 페이지로 이동. 실행 중 스크 [original] | WorldShopService에서 검색한 상품 목록을 페이지 단위로 조회합니다. # Properties - **boolean IsLastPage** 현재 페이지가 검색 결과의 마지막 페이지인지 확인합니다. # Methods - **table<WorldShopProduct> GetCurrentPageDatas()** 검색 결과 중 현재 페이지의 상품 정보 목록을 구합니다. 한 페이지에는 최대 25개의 검색 결과가 포함됩니다. - **void MoveToNextPageAndWait() [Yield]** 검색 결과의 다 [chunk_id] | Misc:642:0
[task] | extract_knowledge [title] | DataStorage [category] | Misc [rephrased] | # [Misc] DataStorage ## 개념 설명 `DataStorage`는 더 이상 사용되지 않는(non-recommended) 데이터 저장소 타입입니다. 원문 문서에 따르면, 이 타입 대신 용도에 맞는 `DataStorageService`의 특정 메서드를 통해 생성된 스토리지 객체를 사용해야 합니다. - `GlobalDataStorage`: `DataStorageService`의 `GetGlobalDataStorage(string)` 사용 - `UserDataStorage`: `DataStorageService`의 `Ge [original] | 더는 사용하지 않는 타입입니다. 용도에 맞게 DataStorageService의 GetGlobalDataStorage(string), GetUserDataStorage(string), GetCreatorDataStorage(), GetSortableDataStorage(string)를 사용하세요. # Methods - **string GetAndWait(string key) [Deprecated] [ServerOnly] [Yield]** 더는 사용하지 않는 함수입니다. 용도에 맞게 GlobalDataStorage, UserD [chunk_id] | Misc:632:0
[task] | wikipedia [title] | WorldShopProduct [category] | Misc [rephrased] | `WorldShopProduct`는 `WorldShopService`를 통해 조회된 상품의 정보를 담고 있는 객체입니다. 이 객체는 상품 식별자 `Id`와 이름 `Name`을 포함하며, `Description` 속성으로 상품의 상세 설명을 제공합니다. 또한 가격 정보인 `int32` 타입의 `Price`와, 상품을 구별하기 위한 `WorldShopProductType` 타입의 `Type` 속성을 가집니다. 판매 상태는 `WorldShopProductStatus` 타입의 `Status` 속성을 통해 확인할 수 있습니다. 상품의 시 [original] | WorldShopService를 통해 얻은 상품의 정보입니다. # Properties - **string Description** 상품의 설명입니다. - **DateTime EndSalesPeriod** 판매 종료 일시입니다. HasSalesPeriod가 true일 때만 유효한 값을 가집니다. - **boolean HasSalesPeriod** 판매 기간이 설정되어 있는지 확인합니다. - **string Id** 상품의 식별자입니다. - **string Name** 상품의 이름입니다. - **int32 Pric [chunk_id] | Misc:641:0
[task] | knowledge_list [title] | CollisionSimulator [category] | Misc [rephrased] | 제공된 문서 `[Misc] CollisionSimulator` 내의 함수 시그니처와 설명을 바탕으로 추출한 핵심 사실 목록입니다. * `int32 OverlapLineAllFast(string collisionGroupName, Vector2 point1, Vector2 point2, table outputList)` 메서드는 주어진 충돌 그룹 이름과 두 지점(`point1`, `point2`)을 연결하는 선과 겹치는 모든 컴포넌트를 찾아 그 결과를 `outputList` 테이블에 삽입하고, 찾은 컴포넌트의 개수를 `int32 [original] | oupName, Vector2 point1, Vector2 point2)** 입력한 선과 겹치는 모든 컴포넌트를 찾아 반환합니다. - **int32 OverlapLineAllFast(string collisionGroupName, Vector2 point1, Vector2 point2, table outputList)** 입력한 선과 겹치는 모든 컴포넌트를 찾고, 그 결과를 outputList에 삽입합니다. 결과의 개수를 반환합니다. - **Component OverlapPoint(CollisionGroup collision [chunk_id] | Misc:631:1
[task] | wikipedia [title] | WorldShopProductPages [category] | Misc [rephrased] | # WorldShopProductPages `WorldShopProductPages`는 `WorldShopService`를 통해 검색된 상품 목록을 페이지 단위로 조회하기 위한 객체입니다. 이 객체를 통해 검색 결과의 페이지 내역을 확인하고 페이지 간 이동을 수행할 수 있습니다. ## 속성 (Properties) **IsLastPage** (`boolean`) 현재 표시되고 있는 페이지가 전체 검색 결과 중 마지막 페이지인지 여부를 나타냅니다. ## 메서드 (Methods) **GetCurrentPageDatas()** ( [original] | WorldShopService에서 검색한 상품 목록을 페이지 단위로 조회합니다. # Properties - **boolean IsLastPage** 현재 페이지가 검색 결과의 마지막 페이지인지 확인합니다. # Methods - **table<WorldShopProduct> GetCurrentPageDatas()** 검색 결과 중 현재 페이지의 상품 정보 목록을 구합니다. 한 페이지에는 최대 25개의 검색 결과가 포함됩니다. - **void MoveToNextPageAndWait() [Yield]** 검색 결과의 다 [chunk_id] | Misc:642:0
[task] | distill [title] | UserDataSet [category] | Misc [rephrased] | # UserDataSet 유저 제작 데이터 테이블 컴포넌트. ## Properties * **Columns**: `ReadOnlyList<string>` [ReadOnly, HideFromInspector] - 열 이름 리스트 * **Id**: `string` [ReadOnly, HideFromInspector] - 테이블 ID * **Name**: `string` [ReadOnly, HideFromInspector] - 테이블 이름 * **ServerOnly**: `boolean` [ReadOnly] - `tru [original] | 유저가 제작한 데이터 테이블입니다. # Properties - **ReadOnlyList<string> Columns [ReadOnly] [HideFromInspector]** 데이터 테이블의 각 열의 내용을 담고 있는 리스트입니다. - **string Id [ReadOnly] [HideFromInspector]** 데이터 테이블의 Id입니다. - **string Name [ReadOnly] [HideFromInspector]** 데이터 테이블의 이름입니다. - **boolean ServerOnly [ReadOnly] [chunk_id] | Misc:639:0
[task] | distill [title] | WorldShopPurchaseInfo [category] | Misc [rephrased] | # [Misc] WorldShopPurchaseInfo `WorldShopService`가 사용하는 상품 구매 정보 구조체입니다. ## Properties * **integer OrderNumber**: 주문번호. 무료 상품 구매 시 `0`입니다. * **string ProductId**: 구매한 상품의 Id. * **string PurchaseId**: 처리할 구매 Id. * **string UserId**: 상품을 구매한 유저 Id. ## Methods * **WorldShopPurchaseInfo C [original] | WorldShopService에서 사용하는 상품의 구매 정보입니다. # Properties - **integer OrderNumber** 주문번호입니다. 무료 상품 구매 시 0으로 지정됩니다. - **string ProductId** 구매한 상품의 Id입니다. - **string PurchaseId** 처리할 구매 Id입니다. - **string UserId** 상품을 구매한 유저 Id입니다. # Methods - **WorldShopPurchaseInfo Clone()** 복사본을 생성합니다. [chunk_id] | Misc:643:0
[task] | diverse_qa [title] | RectTileInfo [category] | Misc [rephrased] | 질문: RectTileInfo 구조체는 무엇을 나타내나요? 답변: 타일셋에 정의된 각 타일의 정보를 나타냅니다. 질문: RectTileInfo의 Index 속성은 어떤 타입이며, 어떤 값을 가지나요? 답변: int32 타입이며, 1부터 시작하는 자동으로 부여되는 타일셋의 인덱스 번호를 가집니다. 질문: RectTileInfo의 Index 속성은 수정할 수 있나요? 답변: 아니요, ReadOnly 속성이므로 수정할 수 없습니다. 질문: RectTileInfo의 IsCollidable 속성이 true일 때 플레이어는 어떻게 되나요 [original] | 타일셋에 정의된 각 타일의 정보를 나타냅니다. # Properties - **int32 Index [ReadOnly]** 자동으로 부여되는 타일셋의 인덱스 번호입니다. 1부터 시작합니다. - **boolean IsCollidable [ReadOnly]** 충돌 여부입니다. true일 경우 플레이어는 타일 위를 지나갈 수 없습니다. - **string Name [ReadOnly]** 타일의 이름입니다. - **string SpriteRUID [ReadOnly]** 스프라이트의 RUID입니다. [chunk_id] | Misc:640:0
[task] | knowledge_list [title] | WorldShopPurchaseInfo [category] | Misc [rephrased] | 1. `WorldShopPurchaseInfo`는 `WorldShopService`에서 사용하는 상품의 구매 정보를 나타내는 구조체입니다. 2. `OrderNumber` 속성은 `integer` 타입으로 주문번호를 저장하며, 무료 상품 구매 시에는 0으로 지정됩니다. 3. `ProductId` 속성은 `string` 타입으로 구매한 상품의 Id를 저장합니다. 4. `PurchaseId` 속성은 `string` 타입으로 처리할 구매 Id를 저장합니다. 5. `UserId` 속성은 `string` 타입으로 상품을 구매한 유저의 Id를 [original] | WorldShopService에서 사용하는 상품의 구매 정보입니다. # Properties - **integer OrderNumber** 주문번호입니다. 무료 상품 구매 시 0으로 지정됩니다. - **string ProductId** 구매한 상품의 Id입니다. - **string PurchaseId** 처리할 구매 Id입니다. - **string UserId** 상품을 구매한 유저 Id입니다. # Methods - **WorldShopPurchaseInfo Clone()** 복사본을 생성합니다. [chunk_id] | Misc:643:0
[task] | extract_knowledge [title] | CollisionSimulator [category] | Misc [rephrased] | # CollisionSimulator: 화면 터치 기반 Raycast 및 엔티티 파괴 ## 개념 설명 `CollisionSimulator`는 화면 터치 입력을 3D 월드 좌표로 변환한 후, 해당 지점까지 레이캐스트(Raycast)를 수행하여 충돌 감지된 엔티티를 처리하는 메커니즘입니다. 주로 화면 터치 이벤트(`ScreenTouchEvent`)를 수신하여, 터치 위치를 기준으로 한 직선 경로상의 특정 충돌 그룹(`CollisionGroup`)에 속한 엔티티를 식별하고, 해당 엔티티를 파괴하는 데 사용됩니다. ## API 사용법 [original] | 화면을 터치하면 엔티티 중심에서 터치한 곳까지 `Raycast()`를 수행하고, 감지한 엔티티를 파괴하는 예제입니다. ```lua Method: [server] void RaycastAndDestroyEntity (Vector3 endPoint) { local startPoint = self.Entity.TransformComponent.WorldPosition local diff = endPoint - startPoint local distance = diff:Magnitude() local direction = diff [chunk_id] | Misc:631:3
[task] | extract_knowledge [title] | CollisionSimulator [category] | Misc [rephrased] | # CollisionSimulator API 사용법 ## 1. 개념 설명 `_CollisionService`는 엔티티 간의 충돌 및 오버랩(Overlap)을 감지하기 위해 사용됩니다. 특히 `TriggerComponent`를 가진 엔티티가 특정 영역에 들어왔는지를 판단하는 데 유용합니다. * **CollisionSimulator**: `_CollisionService:GetSimulator(entity)`를 통해 생성되며, 특정 엔티티를 기준으로 충돌 검사를 수행합니다. * **CollisionGroup**: 충돌 그룹 [original] | # Examples #### OverlapAll `TriggerComponent`를 가진 주변 Entity를 파괴하는 예제입니다. `TriggerComponent`의 `CollisionGroup`은 기본적으로 `TriggerBox`입니다. ```lua Method: [server only] void OnUpdate (number delta) { local position = self.Entity.TransformComponent.WorldPosition:ToVector2() local circleShape = CircleS [chunk_id] | Misc:631:2
[task] | knowledge_list [title] | WorldShopProduct [category] | Misc [rephrased] | `WorldShopProduct` 객체는 `WorldShopService`를 통해 조회하여 얻는 상품 정보를 나타내는 데이터 구조입니다. `WorldShopProduct`의 `Description` 속성은 `string` 타입으로, 해당 상품의 상세 설명 문장을 저장합니다. `WorldShopProduct`의 `EndSalesPeriod` 속성은 `DateTime` 타입으로, `HasSalesPeriod` 속성이 `true`인 경우에만 유효한 판매 종료 일시를 반환합니다. `WorldShopProduct`의 `HasSalesPeri [original] | WorldShopService를 통해 얻은 상품의 정보입니다. # Properties - **string Description** 상품의 설명입니다. - **DateTime EndSalesPeriod** 판매 종료 일시입니다. HasSalesPeriod가 true일 때만 유효한 값을 가집니다. - **boolean HasSalesPeriod** 판매 기간이 설정되어 있는지 확인합니다. - **string Id** 상품의 식별자입니다. - **string Name** 상품의 이름입니다. - **int32 Pric [chunk_id] | Misc:641:0
[task] | knowledge_list [title] | WorldShopProductPages [category] | Misc [rephrased] | ```lua -- 문서 위치: [Misc] WorldShopProductPages -- WorldShopService에서 검색한 상품 목록을 페이지 단위로 조회하는 컴포넌트입니다. ``` 1. `WorldShopProductPages` 컴포넌트는 `WorldShopService`를 통해 검색된 상품 목록을 페이지 단위로 조회하기 위한 목적으로 사용됩니다. 2. `IsLastPage`는 `[None]` 동기화 속성으로, 현재 페이지가 검색 결과의 마지막 페이지인지 여부를 나타내는 `boolean` 타입입니다. 3. `GetCurre [original] | WorldShopService에서 검색한 상품 목록을 페이지 단위로 조회합니다. # Properties - **boolean IsLastPage** 현재 페이지가 검색 결과의 마지막 페이지인지 확인합니다. # Methods - **table<WorldShopProduct> GetCurrentPageDatas()** 검색 결과 중 현재 페이지의 상품 정보 목록을 구합니다. 한 페이지에는 최대 25개의 검색 결과가 포함됩니다. - **void MoveToNextPageAndWait() [Yield]** 검색 결과의 다 [chunk_id] | Misc:642:0
[task] | extract_knowledge [title] | WorldShopProductPages [category] | Misc [rephrased] | # WorldShopProductPages `WorldShopProductPages`는 `WorldShopService`를 통해 검색된 상품 목록을 페이지 단위로 조회하기 위한 객체입니다. 한 페이지당 최대 25개의 검색 결과를 포함하며, 마지막 페이지 여부 확인 및 페이지 이동 기능을 제공합니다. ## API 사용법 ### Properties * **`IsLastPage`** (`boolean`) * 현재 페이지가 검색 결과의 마지막 페이지인지 여부를 나타냅니다. ### Methods * **`GetC [original] | WorldShopService에서 검색한 상품 목록을 페이지 단위로 조회합니다. # Properties - **boolean IsLastPage** 현재 페이지가 검색 결과의 마지막 페이지인지 확인합니다. # Methods - **table<WorldShopProduct> GetCurrentPageDatas()** 검색 결과 중 현재 페이지의 상품 정보 목록을 구합니다. 한 페이지에는 최대 25개의 검색 결과가 포함됩니다. - **void MoveToNextPageAndWait() [Yield]** 검색 결과의 다 [chunk_id] | Misc:642:0
[task] | wikipedia [title] | WorldShopPurchaseInfo [category] | Misc [rephrased] | **WorldShopPurchaseInfo** **WorldShopPurchaseInfo**는 메이플스토리 월드(MapleStory Worlds)의 스크립트 언어 mLua에서 **WorldShopService**가 사용할 때, 상품 구매와 관련된 정보를 담고 있는 구조입니다. **속성(Properties)** **WorldShopPurchaseInfo**에는 다음 네 가지 속성이 포함됩니다. 첫째, **OrderNumber**는 정수(integer) 타입의 주문번호를 나타냅니다. 유료 상품 구매 시에는 해당 주문의 번호가 설 [original] | WorldShopService에서 사용하는 상품의 구매 정보입니다. # Properties - **integer OrderNumber** 주문번호입니다. 무료 상품 구매 시 0으로 지정됩니다. - **string ProductId** 구매한 상품의 Id입니다. - **string PurchaseId** 처리할 구매 Id입니다. - **string UserId** 상품을 구매한 유저 Id입니다. # Methods - **WorldShopPurchaseInfo Clone()** 복사본을 생성합니다. [chunk_id] | Misc:643:0
[task] | wikipedia [title] | UserDataSet [category] | Misc [rephrased] | **UserDataSet**은 메이플스토리 월드에서 사용자가 직접 제작한 데이터 테이블을 관리하는 컴포넌트입니다. 이 컴포넌트는 행과 열로 구성된 구조화된 데이터를 저장하고, 특정 조건에 맞는 데이터를 검색하거나 전체 데이터를 조회하는 기능을 제공합니다. UserDataSet 컴포넌트는 네 가지 프로퍼티를 가지며, 이 중 `Columns`, `Id`, `Name`은 읽기 전용(ReadOnly)이며 인스펙터에서 숨겨집니다(HideFromInspector). `Columns`는 `ReadOnlyList<string>` 타입으로 데이터 [original] | 유저가 제작한 데이터 테이블입니다. # Properties - **ReadOnlyList<string> Columns [ReadOnly] [HideFromInspector]** 데이터 테이블의 각 열의 내용을 담고 있는 리스트입니다. - **string Id [ReadOnly] [HideFromInspector]** 데이터 테이블의 Id입니다. - **string Name [ReadOnly] [HideFromInspector]** 데이터 테이블의 이름입니다. - **boolean ServerOnly [ReadOnly] [chunk_id] | Misc:639:0
[task] | knowledge_list [title] | UserDataSet [category] | Misc [rephrased] | 1. `UserDataSet`은 유저가 제작한 데이터 테이블을 나타내는 스크립트 객체입니다. 2. `UserDataSet`의 `Columns` 프로퍼티는 `[ReadOnly]`와 `[HideFromInspector]` 속성이 적용된 `ReadOnlyList<string>` 타입으로, 데이터 테이블의 각 열 이름을 담고 있습니다. 3. `UserDataSet`의 `Id` 프로퍼티는 `[ReadOnly]`와 `[HideFromInspector]` 속성이 적용된 `string` 타입으로, 데이터 테이블의 고유 식별자를 담고 있습니다. 4 [original] | 유저가 제작한 데이터 테이블입니다. # Properties - **ReadOnlyList<string> Columns [ReadOnly] [HideFromInspector]** 데이터 테이블의 각 열의 내용을 담고 있는 리스트입니다. - **string Id [ReadOnly] [HideFromInspector]** 데이터 테이블의 Id입니다. - **string Name [ReadOnly] [HideFromInspector]** 데이터 테이블의 이름입니다. - **boolean ServerOnly [ReadOnly] [chunk_id] | Misc:639:0