[task] | diverse_qa [title] | SpriteAnimPlayerStartFrameEvent [category] | Events [rephrased] | 질문: SpriteAnimPlayerStartFrameEvent는 언제 발생하는 이벤트인가요? 답변: 스프라이트 애니메이션이 첫 번째 프레임을 재생할 때 발생하는 이벤트입니다. 질문: SpriteAnimPlayerStartFrameEvent는 어떤 컴포넌트에 의해 발생하며, 어느 실행 공간(Client/Server)에서 발생하는 이벤트인가요? 답변: ClimbableSpriteRendererComponent와 SpriteRendererComponent에 의해 발생하며, 두 컴포넌트 모두 Client에서 이벤트가 발생합니다. 질문 [original] | 스프라이트 애니메이션이 첫번째 프레임을 재생할 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * ClimbableSpriteRendererComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> * SpriteRendererComponent <img src="https://img.shiel [chunk_id] | Events:625:0
[task] | diverse_qa [title] | BadgeInfoPages [category] | Misc [rephrased] | 질문: BadgeInfoPages 컴포넌트는 어떤 서비스에서 검색한 데이터를 처리합니까? 답변: BadgeService에서 검색한 배지 목록을 처리합니다. 질문: IsLastPage 속성의 데이터 타입은 무엇이며, 수정 가능한가요? 답변: IsLastPage 속성의 데이터 타입은 boolean이며, [ReadOnly]로 지정되어 있어 수정할 수 없습니다. 질문: IsLastPage 속성이 true인 경우를 설명해 주세요. 답변: IsLastPage 속성이 true인 경우, 현재 페이지가 검색 결과의 마지막 페이지임을 의미합니다. [original] | BadgeService에서 검색한 배지 목록을 페이지 단위로 조회합니다. # Properties - **boolean IsLastPage [ReadOnly]** 현재 페이지가 검색 결과의 마지막 페이지인지 여부를 구합니다. # Methods - **table<BadgeInfo> GetCurrentPageDatas()** 검색 결과 중 현재 페이지의 배지 정보 목록을 구합니다. 한 페이지에 최대 25개의 검색 결과가 포함됩니다. - **void MoveToNextPageAndWait() [Yield]** 검색 결과의 [chunk_id] | Misc:627:0
[task] | wikipedia [title] | CollisionMapService [category] | Misc [rephrased] | # CollisionMapService **CollisionMapService**는 메이플스토리 월드 스크립트 언어 mLua에서 제공되던 서비스 중 하나였으나, 현재는 더 이상 사용되지 않는 비권장(Deprecated) 타입으로 분류됩니다. 충돌 관련 기능을 구현해야 할 경우, 이 서비스 대신 **CollisionSimulator**를 사용하도록 권장됩니다. ## 메서드 CollisionMapService에는 두 개의 메서드가 정의되어 있었으나, 모두 비권장 상태로 지정되어 있습니다. **OverlapBox** 메서드는 `s [original] | 더는 사용하지 않는 타입입니다. CollisionSimulator를 사용하세요. # Methods - **List<Component> OverlapBox(string name, Vector2 position, Vector2 size) [Deprecated]** 더는 사용하지 않는 함수입니다. CollisionSimulator의 OverlapBoxAll 프로퍼티를 사용하세요. - **List<Component> RaycastAll(string name, Vector2 position) [Deprecated]** 더는 사용하 [chunk_id] | Misc:630:0
[task] | diverse_qa [title] | CircleShape [category] | Misc [rephrased] | 질문: `CircleShape`는 어떤 용도로 사용되는 자료형인가요? 답변: `CircleShape`는 충돌과 관련된 기능에 활용할 수 있는 원 모양을 나타냅니다. 질문: `CircleShape`의 고유 속성(Property)인 `Radius`의 자료형은 무엇이며, 어떤 값을 의미하나요? 답변: `Radius`의 자료형은 `float`이며, 원의 반지름을 의미합니다. 질문: `CircleShape`에서 `Shape`에서 상속된 `Position` 속성은 무엇을 나타내며, 자료형은 무엇인가요? 답변: `Position`은 모양의 [original] | 충돌과 관련된 기능에 활용할 수 있는 원 모양을 나타냅니다. # Properties - **float Radius** 원의 반지름입니다. ##### inherited from Shape: - **Vector2 Position** 모양의 월드 좌표상 위치입니다. # Constructors - **CircleShape(Vector2 position, float radius)** 지정한 값으로 CircleShape를 초기화합니다. [chunk_id] | Misc:629:0
[task] | extract_knowledge [title] | SpriteAnimPlayerStartFrameEvent [category] | Events [rephrased] | # SpriteAnimPlayerStartFrameEvent ## 개념 설명 `SpriteAnimPlayerStartFrameEvent`는 스프라이트 애니메이션이 첫 번째 프레임을 재생할 시점에 발생하는 이벤트입니다. 이 이벤트는 클라이언트 공간(Client Space)에서 발생하며, `ClimbableSpriteRendererComponent`와 `SpriteRendererComponent`에 의해 트리거됩니다. 이벤트 객체에는 현재 재생 상태에 대한 정보를 담고 있으며, 모든 속성은 읽기 전용(`ReadOnly`)입니다. [original] | 스프라이트 애니메이션이 첫번째 프레임을 재생할 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * ClimbableSpriteRendererComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> * SpriteRendererComponent <img src="https://img.shiel [chunk_id] | Events:625:0
[task] | diverse_qa [title] | BoxShape [category] | Misc [rephrased] | 질문: BoxShape는 어떤 용도로 사용되는 자료 구조인가요? 답변: BoxShape는 충돌과 관련된 기능에 활용할 수 있는 직사각형 모양을 나타냅니다. 질문: BoxShape의 Angle 프로퍼티는 어떤 값을 가지며 무엇을 의미하나요? 답변: Angle 프로퍼티는 float 타입의 값이며, 직사각형이 회전된 각도를 나타냅니다. 질문: BoxShape의 Size 프로퍼티는 어떤 타입이며 어떤 정보를 포함하나요? 답변: Size 프로퍼티는 Vector2 타입이며, 직사각형의 폭과 높이를 나타냅니다. 질문: Shape에서 상속받 [original] | 충돌과 관련된 기능에 활용할 수 있는 직사각형 모양을 나타냅니다. # Properties - **float Angle** 회전된 각도입니다. - **Vector2 Size** 직사각형의 폭과 높이입니다. ##### inherited from Shape: - **Vector2 Position** 모양의 월드 좌표상 위치입니다. # Constructors - **BoxShape(Vector2 size, float angle) [Deprecated]** 더는 사용하지 않는 생성자입니다. - **BoxShape(V [chunk_id] | Misc:628:0
[task] | extract_knowledge [title] | BadgeInfoPages [category] | Misc [rephrased] | # BadgeInfoPages `BadgeService`에서 수행한 검색 작업의 결과를 페이지 단위로 처리하는 컴포넌트입니다. 검색 결과는 한 페이지에 최대 25개 항목씩 포함되며, 해당 컴포넌트를 통해 현재 페이지의 데이터를 조회하거나 다음 페이지로 이동할 수 있습니다. ## Properties | 이름 | 타입 | 접근 권한 | 설명 | | :--- | :--- | :--- | :--- | | `IsLastPage` | `boolean` | `[ReadOnly]` | 현재 페이지가 검색 결과의 마지막 페이지인지 여부를 나타 [original] | BadgeService에서 검색한 배지 목록을 페이지 단위로 조회합니다. # Properties - **boolean IsLastPage [ReadOnly]** 현재 페이지가 검색 결과의 마지막 페이지인지 여부를 구합니다. # Methods - **table<BadgeInfo> GetCurrentPageDatas()** 검색 결과 중 현재 페이지의 배지 정보 목록을 구합니다. 한 페이지에 최대 25개의 검색 결과가 포함됩니다. - **void MoveToNextPageAndWait() [Yield]** 검색 결과의 [chunk_id] | Misc:627:0
[task] | extract_knowledge [title] | CollisionMapService [category] | Misc [rephrased] | # CollisionMapService `CollisionMapService`는 더 이상 사용하지 않는(deprecated) 타입입니다. 충돌 검출 및 시뮬레이션 기능을 구현할 때는 `CollisionSimulator`를 사용해야 합니다. ## 개념 이 서비스는 과거에 충돌 맵 기반의 영역 검사(Overlap)와 레이 캐스트(Raycast)를 위해 제공되었으나, 현재는 비권장 상태로 유지됩니다. 따라서 신규 개발 시에는 이 서비스를 참조하거나 호출하지 않아야 합니다. ## API 사용법 문서에 명시된 메서드들은 모두 `[D [original] | 더는 사용하지 않는 타입입니다. CollisionSimulator를 사용하세요. # Methods - **List<Component> OverlapBox(string name, Vector2 position, Vector2 size) [Deprecated]** 더는 사용하지 않는 함수입니다. CollisionSimulator의 OverlapBoxAll 프로퍼티를 사용하세요. - **List<Component> RaycastAll(string name, Vector2 position) [Deprecated]** 더는 사용하 [chunk_id] | Misc:630:0
[task] | extract_knowledge [title] | BoxShape [category] | Misc [rephrased] | # BoxShape 컴포넌트 ## 개념 설명 `BoxShape`는 직사각형 형태의 충돌 볼륨을 정의하기 위한 클래스입니다. 물리 엔진과의 충돌 검출 및 반응 처리 시 사용되며, `Shape` 클래스를 상속받아 공통 속성을 포함합니다. ## API 사용법 ### Properties (속성) `BoxShape` 객체는 다음과 같은 속성을 가집니다. | 속성명 | 타입 | 설명 | | :--- | :--- | :--- | | `Angle` | `float` | 직사각형의 회전 각도입니다. | | `Size` | `Vector2` [original] | 충돌과 관련된 기능에 활용할 수 있는 직사각형 모양을 나타냅니다. # Properties - **float Angle** 회전된 각도입니다. - **Vector2 Size** 직사각형의 폭과 높이입니다. ##### inherited from Shape: - **Vector2 Position** 모양의 월드 좌표상 위치입니다. # Constructors - **BoxShape(Vector2 size, float angle) [Deprecated]** 더는 사용하지 않는 생성자입니다. - **BoxShape(V [chunk_id] | Misc:628:0
[task] | distill [title] | CollisionSimulator [category] | Misc [rephrased] | **[Misc] CollisionSimulator** 화면 터치 시 엔티티 중심에서 터치 지점까지 `Raycast()`를 수행해 감지된 타겟 엔티티를 파괴하는 예제입니다. ```lua Method: [server] void RaycastAndDestroyEntity (Vector3 endPoint) { local startPoint = self.Entity.TransformComponent.WorldPosition local diff = endPoint - startPoint local distance = diff:Magn [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] | distill [title] | CollisionSimulator [category] | Misc [rephrased] | # CollisionSimulator 충돌 검사 기능을 제공하는 컴포넌트입니다. ## Methods ### Overlap (단일 결과) 입력한 모양(`Shape`)과 겹치는 **첫 번째** 컴포넌트를 반환합니다. * `Component Overlap(CollisionGroup collisionGroup, Shape shape)` * `Component Overlap(string collisionGroupName, Shape shape)` * `Component Overlap(table groups, Shape sha [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] | extract_knowledge [title] | BadgeInfo [category] | Misc [rephrased] | # BadgeInfo `BadgeInfo`는 게임 내 배지의 정적 메타데이터를 담고 있는 읽기 전용(ReadOnly) 데이터 구조입니다. 이 객체를 통해 개발자는 배지의 식별자, 이름, 등급, 획득 가능 여부 및 기간, 그리고 시각적 자원(섬네일)에 대한 정보를 조회할 수 있습니다. ## 1. 개념 설명 `BadgeInfo`는 변경 불가능한(read-only) 속성들로만 구성되어 있어, 런타임에 배지 정보를 수정할 수 없습니다. 주요 개념은 다음과 같습니다. * **식별 및 기본 정보**: `Id`, `Name`, `De [original] | 배지의 정보를 나타냅니다. # Properties - **string Description [ReadOnly]** 배지의 설명입니다. - **DateTime EndAcquisitionPeriod [ReadOnly]** 획득 종료 일시입니다. HasAcquisitionPeriod가 true일 때만 유효한 값을 가집니다. - **BadgeGrade Grade [ReadOnly]** 배지의 등급입니다. - **boolean HasAcquisitionPeriod [ReadOnly]** 획득 기간이 존재하는지 확인합니다. [chunk_id] | Misc:626:0
[task] | knowledge_list [title] | CollisionSimulator [category] | Misc [rephrased] | * `_CollisionService:GetSimulator(Entity)` 메서드는 서버 전용으로 실행되며, 인자로 엔티티를 받아 해당 엔티티의 충돌 시뮬레이터 객체를 반환한다. * `simulator:OverlapAll(CollisionGroup, Shape)` 메서드는 서버 전용으로 실행되며, 지정된 충돌 그룹(예: `CollisionGroups.TriggerBox`)과 형태(예: `CircleShape`)를 기준으로 겹치는 컴포넌트 목록을 테이블로 반환한다. * `CircleShape(Vector2, number) [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] | distill [title] | CollisionSimulator [category] | Misc [rephrased] | # [Misc] CollisionSimulator `_CollisionService:GetSimulator(entity)`로 시뮬레이터를 획득한 후, 충돌 감지 메서드를 호출합니다. ### 1. OverlapAll 주변 Entity 중 특정 `CollisionGroup`에 속하는 컴포넌트를 검색합니다. 결과 테이블은 매 호출 시 새로 생성됩니다. - **시그니처**: `simulator:OverlapAll(group, shape)` - **주의**: `component.EnableInHierarchy == false`인 경우와 [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] | diverse_qa [title] | CollisionSimulator [category] | Misc [rephrased] | 질문: CollisionSimulator 컴포넌트는 어떤 기능을 제공하는가? 답변: CollisionSimulator는 여러 가지 충돌 검사 기능을 제공합니다. 질문: `Component Overlap(CollisionGroup collisionGroup, Shape shape)` 메서드는 어떤 결과를 반환하는가? 답변: 입력한 모양(Shape)과 겹치는 첫 번째 컴포넌트를 찾아 반환합니다. 질문: `table<Component> OverlapAll(CollisionGroup collisionGroup, Shape shape)` [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] | distill [title] | EntityRef [category] | Misc [rephrased] | # EntityRef 엔티티 ID를 보관하고, 실제 접근 시점에 엔티티를 조회하는 참조 타입입니다. ## Properties - **`string EntityId`** `[ReadOnly]`: 참조 대상 Entity의 Id. - **`string EntityPath`** `[Deprecated]`: 사용 금지. ## Constructors - **`EntityRef(Entity entity)`**: Entity 인스턴스를 참조하도록 초기화. - **`EntityRef(string entityId)`**: Entity ID 문자 [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] | DataStorage [category] | Misc [rephrased] | # [Misc] DataStorage **[Deprecated]** 더는 사용하지 않는 타입입니다. 용도에 맞게 `DataStorageService`의 메서드를 사용하세요. * `GetGlobalDataStorage(string)` * `GetUserDataStorage(string)` * `GetCreatorDataStorage()` * `GetSortableDataStorage(string)` ## Methods 모든 메서드는 **[Deprecated] [ServerOnly]** 입니다. | 시그니처 | [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] | CollisionSimulator [category] | Misc [rephrased] | # CollisionSimulator CollisionSimulator는 mLua 스크립트 내에서 충돌 시뮬레이션을 수행하기 위한 API를 제공합니다. 주로 `_CollisionService:GetSimulator()`를 통해 시뮬레이터 인스턴스를 얻은 후, 특정 영역 내의 오브젝트와의 충돌이나 겹침(Overlap)을 감지하는 데 사용됩니다. ## OverlapAll `OverlapAll` 메서드는 지정된 충돌 그룹(CollisionGroup)과 형태(Shape)가 겹치는 모든 컴포넌트를 검색합니다. 기본 충돌 그룹은 `Tri [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] | CollisionSimulator [category] | Misc [rephrased] | - `RaycastAndDestroyEntity(Vector3 endPoint)`는 `[server]` 실행 공간에서 동작하며, 엔티티의 현재 월드 위치(`self.Entity.TransformComponent.WorldPosition`)를 시작점으로, 매개변수로 전달된 `endPoint`를 끝점으로 하는 벡터 차이를 계산합니다. - `RaycastAndDestroyEntity` 메서드 내에서 `diff:Magnitude()`를 호출하여 시작점과 끝점 사이의 거리를 `distance` 변수에 저장하고, `diff:Normalize( [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] | diverse_qa [title] | CollisionSimulator [category] | Misc [rephrased] | 질문: `OverlapLineAllFast` 메서드의 세 번째 인자 `outputList`는 어떤 역할을 하며, 이 메서드는 무엇을 반환하나요? 답변: 입력한 선과 겹치는 모든 컴포넌트를 찾고 그 결과를 `outputList`에 삽입하며, 찾은 결과의 개수를 `int32` 타입으로 반환합니다. 질문: `OverlapPoint` 메서드를 사용할 때 `groups` 인자로 테이블을 전달하는 경우, 해당 테이블의 구조는 어떻게 되어야 하나요? 답변: `groups`는 `CollisionGroups`의 요소들로 이루어진 순차 테이블이어야 [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] | CollisionSimulator [category] | Misc [rephrased] | # [Misc] CollisionSimulator CollisionSimulator 컴포넌트는 2D 공간에서 충돌 그룹(CollisionGroup) 기반의 겹침(Overlap) 및 레이캐스트(Raycast) 검사를 수행합니다. ## 핵심 규칙 및 주의사항 * **CollisionGroup 인자 타입**: `CollisionGroup` 객체, `string` (그룹 이름), 또는 `CollisionGroups`의 요소들로 이루어진 **순차 테이블** (`table groups`) 중 하나를 지원합니다. * **Fast 변형 [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] | StateType [category] | Misc [rephrased] | **StateType**은 메이플스토리 월드(MapleStory Worlds)의 mLua 스크립트에서 `StateComponent` 및 `StateSet` 내에서 상태(State)를 표현하는 데 사용되는 타입입니다. 개발자는 `StateType`을 직접 정의하여 `StateComponent` 또는 `StateSet`에서 이를 활용할 수 있습니다. 이 타입에는 `StateComponent ParentComponent`라는 읽기 전용(ReadOnly) 속성이 하나 포함되어 있습니다. 이 속성은 해당 `State`를 소유하고 있는 `S [original] | StateComponent 및 StateSet에서 사용되는 State를 표현합니다. 나만의 StateType을 정의하여 StateComponent 또는 StateSet에서 활용할 수 있습니다. # Properties - **StateComponent ParentComponent [ReadOnly]** 이 State를 소유한 StateComponent입니다. [chunk_id] | Misc:638:0
[task] | diverse_qa [title] | DataStorage [category] | Misc [rephrased] | 질문: DataStorage 타입은 현재 사용 가능한 상태인가요? 답변: 아니요, DataStorage는 더는 사용하지 않는 타입입니다. 질문: DataStorage 대신에 어떤 서비스와 메서드를 사용해야 하나요? 답변: 용도에 맞게 DataStorageService의 GetGlobalDataStorage(string), GetUserDataStorage(string), GetCreatorDataStorage(), GetSortableDataStorage(string) 메서드를 사용해야 합니다. 질문: DataStorage의 G [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] | distill [title] | StateType [category] | Misc [rephrased] | # [Misc] StateType `StateComponent` 및 `StateSet`에서 사용되는 상태를 표현하는 타입입니다. 커스텀 `StateType`을 정의하여 해당 컴포넌트나 세트에서 활용할 수 있습니다. ## Properties - **StateComponent ParentComponent [ReadOnly]** 이 State를 소유한 `StateComponent`입니다. [original] | StateComponent 및 StateSet에서 사용되는 State를 표현합니다. 나만의 StateType을 정의하여 StateComponent 또는 StateSet에서 활용할 수 있습니다. # Properties - **StateComponent ParentComponent [ReadOnly]** 이 State를 소유한 StateComponent입니다. [chunk_id] | Misc:638:0
[task] | diverse_qa [title] | CollisionSimulator [category] | Misc [rephrased] | 질문: CollisionSimulator 예제의 주요 기능은 무엇인가요? 답변: 화면을 터치하면 엔티티 중심에서 터치한 곳까지 `Raycast()`를 수행하고, 감지한 엔티티를 파괴하는 기능입니다. 질문: `RaycastAndDestroyEntity` 메서드의 실행 공간은 어디인가요? 답변: `[server]` 실행 공간입니다. 질문: `HandleScreenTouchEvent` 이벤트 핸들러는 어떤 서비스의 이벤트를 처리하나요? 답변: `InputService`의 이벤트를 처리합니다. 질문: `HandleScreenTouch [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] | wikipedia [title] | EntityRef [category] | Misc [rephrased] | # EntityRef **EntityRef**는 특정 엔티티(Entity)에 대한 참조를 유지하는 구조체입니다. 이 구조체는 엔티티의 고유 식별자(Id)를 내부적으로 저장하고 있으며, 실제 엔티티 객체에 대한 접근이 필요한 시점에 해당 Id를 기반으로 엔티티를 조회하는 방식으로 동작합니다. ## 프로퍼티 EntityRef 구조체는 다음과 같은 프로퍼티를 제공합니다. **EntityId** 타입은 `string`이며, 읽기 전용(ReadOnly) 프로퍼티입니다. 이 프로퍼티는 EntityRef가 현재 참조하고 있는 엔티티의 고 [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] | wikipedia [title] | DataStorage [category] | Misc [rephrased] | **DataStorage** (데이터 저장소) DataStorage는 현재 더 이상 권장되지 않는(비추장, Deprecated) 타입입니다. 이 타입을 직접 사용하는 대신, 저장소의 용도에 따라 `DataStorageService`에서 제공하는 관련 메서드를 사용하여 적절한 저장소 인스턴스를 가져와야 합니다. 구체적으로, 전역 데이터는 `GetGlobalDataStorage(string)`을, 사용자 데이터는 `GetUserDataStorage(string)`을, 크리에이터 데이터는 `GetCreatorDataStorage()`를 [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] | diverse_qa [title] | CollisionSimulator [category] | Misc [rephrased] | 질문: `OverlapAll` 예제에서 `TriggerComponent`의 기본 `CollisionGroup`은 무엇인가요? 답변: `TriggerComponent`의 `CollisionGroup`은 기본적으로 `TriggerBox`입니다. 질문: `OverlapAll` 예제 코드에서 반경 3 이내에 있는 `TriggerComponent`를 가진 엔티티를 감지하기 위해 어떤 함수를 호출하나요? 답변: `simulator:OverlapAll(CollisionGroups.TriggerBox, circleShape)` 함수를 호출합니다 [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] | StateType [category] | Misc [rephrased] | - `StateType`은 `StateComponent` 및 `StateSet`에서 사용되는 State를 표현하는 타입입니다. - 개발자는 나만의 `StateType`을 정의하여 `StateComponent` 또는 `StateSet`에서 활용할 수 있습니다. - `StateComponent ParentComponent` 프로퍼티는 읽기 전용(`[ReadOnly]`)이며, 해당 `State`를 소유한 `StateComponent`를 반환합니다. [original] | StateComponent 및 StateSet에서 사용되는 State를 표현합니다. 나만의 StateType을 정의하여 StateComponent 또는 StateSet에서 활용할 수 있습니다. # Properties - **StateComponent ParentComponent [ReadOnly]** 이 State를 소유한 StateComponent입니다. [chunk_id] | Misc:638:0
[task] | knowledge_list [title] | EntityRef [category] | Misc [rephrased] | 1. `EntityRef`는 엔티티의 `Id`를 저장해 두고 실제 접근이 필요할 때 엔티티를 조회하는 참조 객체입니다. 2. `EntityRef`의 `EntityId` 프로퍼티는 `string` 타입이며 `ReadOnly` 속성을 가지며, 참조 중인 Entity의 Id를 반환합니다. 3. `EntityRef`의 `EntityPath` 프로퍼티는 `string` 타입이며 `ReadOnly` 속성을 가지지만 `Deprecated` 상태이므로 더 이상 사용되지 않습니다. 4. `EntityRef(Entity entity)` 생성자는 지정 [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