[task] | wikipedia [title] | KinematicbodyComponent [category] | Components [rephrased] | # KinematicbodyComponent **KinematicbodyComponent**는 메이플스토리 월드(MapleStory Worlds) 스크립트 언어 mLua에서 사용되는 컴포넌트로, 캐릭터의 이동 및 물리 상태(바닥 접촉, 타일 충돌 등)를 제어하고 조회하는 기능을 제공합니다. ## 메서드 (Methods) 이 컴포넌트는 위치 조회 및 설정, 바닥 상태 확인, 그리고 타일 진입/이탈 이벤트 처리를 위한 메서드를 제공합니다. ### 위치 및 바닥 상태 조회 * **`Vector2 GetGroundPosition [original] | - **Vector2 GetGroundPosition()** 로컬 좌표 기준으로 바닥 위치를 반환합니다. - **Vector2 GetWorldGroundPosition()** 월드 좌표 기준으로 바닥 위치를 반환합니다. - **boolean IsOnGround()** 현재 지면에 닿아 있는 상태인지 확인합니다. 점프 중일 때 false를 반환합니다. - **void OnEnterRectTile(RectTileEnterEvent enterEvent) [ScriptOverridable]** RectTileEnterEven [chunk_id] | Components:598:1
[task] | distill [title] | CameraZoomEndEvent [category] | Events [rephrased] | # [Events] CameraZoomEndEvent 카메라 줌 변경 완료 시 발생하는 이벤트입니다. **Client** 공간에서 발생하며, `CameraService` API에 의해 트리거됩니다. ## Properties - **`CameraComponent ZoomCameraComponent`**: 줌 동작이 완료된 `CameraComponent` 인스턴스입니다. ## Constructors - **`CameraZoomEndEvent(CameraComponent zoomCameraComponent = nil)`** 지정 [original] | 카메라의 줌 변경이 완료된 후 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * CameraService <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **CameraComponent ZoomCameraComponent** 줌 동작이 완료된 CameraComponen [chunk_id] | Events:601:0
[task] | wikipedia [title] | CameraZoomEndEvent [category] | Events [rephrased] | # CameraZoomEndEvent `CameraZoomEndEvent`는 카메라의 줌 변경 작업이 완료된 시점에 발생하는 이벤트입니다. 이 이벤트는 `CameraService`에 의해 트리거되며, 실행 공간은 클라이언트(`Client`)로 한정됩니다. ## 속성 (Properties) * **CameraComponent ZoomCameraComponent** 줌 동작이 정상적으로 완료된 `CameraComponent` 인스턴스를 참조합니다. ## 생성자 (Constructors) * **CameraZoom [original] | 카메라의 줌 변경이 완료된 후 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * CameraService <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **CameraComponent ZoomCameraComponent** 줌 동작이 완료된 CameraComponen [chunk_id] | Events:601:0
[task] | diverse_qa [title] | AvatarStateAnimationComponent [category] | Components [rephrased] | 질문: `AvatarStateAnimationComponent`의 `ReceiveStateChangeEvent` 메서드는 어떤 이벤트 발생 시 호출되나요? 답변: StateChangeEvent가 발생했을 때 호출됩니다. 질문: 변경된 상태에 대응하는 애니메이션이 메이플스토리 월드에서 제공하는 Native 애니메이션인 경우, `ReceiveStateChangeEvent`는 어떤 이벤트를 발생시키나요? 답변: BodyActionStateChangeEvent를 발생시킵니다. 질문: 변경된 상태에 대응하는 애니메이션이 크리에이터가 제작 [original] | - **void ReceiveStateChangeEvent(IEventSender sender, StateChangeEvent stateEvent) [ScriptOverridable]** StateChangeEvent가 발생했을 때 호출되는 메소드입니다. 변경된 상태에 대응하는 애니메이션이 메이플스토리 월드에서 제공하는 Native 애니메이션일 경우 BodyActionStateChangeEvent를 발생시킵니다. 애니메이션이 크리에이터가 제작한 Custom 애니메이션일 경우 BodyActionTypeChangeEvnet를 발생시 [chunk_id] | Components:596:1
[task] | knowledge_list [title] | KinematicbodyComponent [category] | Components [rephrased] | 1. `KinematicbodyComponent`는 탑다운 방식의 상하좌우 이동, 점프, 및 RectTile과의 충돌 기능을 제공하며, 중력과 가속도/감속도의 영향을 받지 않습니다. 2. `KinematicbodyComponent`는 타일맵의 타입이 `RectTile`일 때에만 정상적으로 동작합니다. 3. `Acceleration` 프로퍼티는 `Vector2` 타입으로 비추천(Deprecated) 상태이며, 대신 `SpeedFactor` 프로퍼티를 사용해야 합니다. 4. `ApplyClimbableRotation` 프로퍼티는 `bo [original] | 탑다운 방식의 상하좌우 이동, 점프 및 렉트 타일과의 충돌 기능을 제공합니다. 중력과 가·감속 영항을 받지 않습니다. 타일맵이 RectTile일 때 동작합니다. # Properties - **Vector2 Acceleration [Deprecated]** 더는 사용하지 않는 프로퍼티입니다. SpeedFactor 프로퍼티를 사용하세요. - **boolean ApplyClimbableRotation [Sync]** true인 경우 회전하거나 기울어진 사다리를 탄 캐릭터는 사다리의 모습을 따릅니다. false인 경우 캐릭터는 [chunk_id] | Components:598:0
[task] | diverse_qa [title] | RectTileMapComponent [category] | Components [rephrased] | 질문: RectTileMapComponent는 어떤 기능을 제공하나요? 답변: 사각형 타일맵 기능을 제공합니다. 질문: RectTileMapComponent에서 격자의 크기를 나타내는 Property의 이름과 데이터 타입은 무엇인가요? 답변: 이름은 GridSize이며, 데이터 타입은 Vector2입니다. 질문: GridSize Property는 [Sync] 속성을 가지고 있나요? 답변: 네, GridSize Property는 [Sync] 속성을 가지고 있습니다. 질문: SortingLayer에 Map Layer 이름을 지정했 [original] | 사각형 타일맵 기능을 제공합니다. # Properties - **Vector2 GridSize [Sync]** 격자의 크기입니다. - **boolean IgnoreMapLayerCheck** SortingLayer에 Map Layer 이름을 지정했을 때 자동 치환을 수행하지 않습니다. - **boolean IsOddGridPosition** 타일맵을 그리드의 기준점과 어긋나게 배치합니다. - **int32 OrderInLayer [Sync]** 같은 Layer 내의 우선순위를 결정합니다. 수가 클수록 앞에 보입니다 [chunk_id] | Components:599:0
[task] | knowledge_list [title] | RectTileMapComponent [category] | Components [rephrased] | ```lua -- 문서 검토 결과: RectTileMapComponent 핵심 사실 목록 -- 각 항목은 독립적으로 이해되는 완결된 문장입니다. local facts = { [1] = "RectTileMapComponent는 사각형 타일맵 기능을 제공하는 컴포넌트입니다.", [2] = "Vector2 타입의 GridSize 속성은 [Sync] 플래그를 가지며 격자의 크기를 나타냅니다.", [3] = "boolean 타입의 IgnoreMapLayerCheck 속성은 SortingLayer에 Map Layer 이 [original] | 사각형 타일맵 기능을 제공합니다. # Properties - **Vector2 GridSize [Sync]** 격자의 크기입니다. - **boolean IgnoreMapLayerCheck** SortingLayer에 Map Layer 이름을 지정했을 때 자동 치환을 수행하지 않습니다. - **boolean IsOddGridPosition** 타일맵을 그리드의 기준점과 어긋나게 배치합니다. - **int32 OrderInLayer [Sync]** 같은 Layer 내의 우선순위를 결정합니다. 수가 클수록 앞에 보입니다 [chunk_id] | Components:599:0
[task] | diverse_qa [title] | KinematicbodyComponent [category] | Components [rephrased] | 질문: `KinematicbodyComponent`의 `GetGroundPosition()` 메서드는 어떤 좌표계의 바닥 위치를 반환하나요? 답변: 로컬 좌표 기준으로 바닥 위치를 반환합니다. 질문: 월드 좌표 기준으로 바닥 위치를 구하기 위해 사용해야 하는 메서드는 무엇인가요? 답변: `GetWorldGroundPosition()` 메서드를 사용합니다. 질문: `IsOnGround()` 메서드가 `false`를 반환하는 상황은 언제인가요? 답변: 현재 지면에 닿아 있지 않은 상태, 즉 점프 중일 때 `false`를 반환합니다. [original] | - **Vector2 GetGroundPosition()** 로컬 좌표 기준으로 바닥 위치를 반환합니다. - **Vector2 GetWorldGroundPosition()** 월드 좌표 기준으로 바닥 위치를 반환합니다. - **boolean IsOnGround()** 현재 지면에 닿아 있는 상태인지 확인합니다. 점프 중일 때 false를 반환합니다. - **void OnEnterRectTile(RectTileEnterEvent enterEvent) [ScriptOverridable]** RectTileEnterEven [chunk_id] | Components:598:1
[task] | distill [title] | ChangedMovementInputEvent [category] | Events [rephrased] | # ChangedMovementInputEvent `MovementComponent`에서 이동 입력이 변경될 때 발생합니다. * **발행 공간**: Client * **발행 원천**: `MovementComponent` API 호출 ## Properties * **`Vector2 Direction`**: 변경된 이동 방향. ## Constructors * **`ChangedMovementInputEvent(Vector2 direction = nil)`**: 지정한 값으로 이벤트 객체를 초기화합니다. [original] | MovementComponent에서 이동 입력이 변경될 때 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * MovementComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Vector2 Direction** 변경된 이동 방향입니다. # Constructor [chunk_id] | Events:602:0
[task] | knowledge_list [title] | CameraZoomEndEvent [category] | Events [rephrased] | * `CameraZoomEndEvent`는 카메라의 줌 변경이 완료된 후 발생하는 이벤트입니다. * `CameraZoomEndEvent`는 `CameraService` API에 의해 발생하며, 발생 공간은 `[client]`입니다. * `CameraZoomEndEvent`는 `ZoomCameraComponent`라는 `CameraComponent` 타입의 속성을 가지며, 이는 줌 동작이 완료된 카메라 컴포넌트를 참조합니다. * `CameraZoomEndEvent`는 `CameraZoomEndEvent(CameraCom [original] | 카메라의 줌 변경이 완료된 후 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * CameraService <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **CameraComponent ZoomCameraComponent** 줌 동작이 완료된 CameraComponen [chunk_id] | Events:601:0
[task] | wikipedia [title] | ChangedMovementInputEvent [category] | Events [rephrased] | # ChangedMovementInputEvent **ChangedMovementInputEvent**는 `MovementComponent`에서 이동 입력이 변경될 때 발생하는 이벤트입니다. 이 이벤트는 클라이언트(Client) 공간에서만 발생하며, `MovementComponent`의 동작과 연동됩니다. ## 프로퍼티 (Properties) 이벤트 객체는 다음과 같은 프로퍼티를 가집니다. * **Direction** (`Vector2`): 변경된 이동 방향을 나타냅니다. ## 생성자 (Constructors) * [original] | MovementComponent에서 이동 입력이 변경될 때 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * MovementComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Vector2 Direction** 변경된 이동 방향입니다. # Constructor [chunk_id] | Events:602:0
[task] | knowledge_list [title] | ChangedMovementInputEvent [category] | Events [rephrased] | 1. `ChangedMovementInputEvent`는 `MovementComponent`에서 이동 입력이 변경될 때 발생하는 이벤트입니다. 2. `ChangedMovementInputEvent`는 `MovementComponent` API에 의해 발생하며, 이 이벤트는 클라이언트(Clientspace)에서 발생합니다. 3. `ChangedMovementInputEvent`의 `Direction` 속성은 `Vector2` 타입이며, 변경된 이동 방향을 나타냅니다. 4. `ChangedMovementInputEvent`의 생성자(C [original] | MovementComponent에서 이동 입력이 변경될 때 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * MovementComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Vector2 Direction** 변경된 이동 방향입니다. # Constructor [chunk_id] | Events:602:0
[task] | extract_knowledge [title] | CameraZoomEndEvent [category] | Events [rephrased] | # CameraZoomEndEvent ## 개념 설명 `CameraZoomEndEvent`는 카메라의 줌(Zoom) 변경 동작이 완료된 시점에 발생하는 이벤트입니다. 이 이벤트는 `CameraService`에 의해 트리거되며, 실행 공간은 **Client**입니다. ## API 사용법 ### Properties - **CameraComponent ZoomCameraComponent**: 줌 동작이 완료된 대상 `CameraComponent`를 참조합니다. ### Constructors - **CameraZoomEndEvent [original] | 카메라의 줌 변경이 완료된 후 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * CameraService <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **CameraComponent ZoomCameraComponent** 줌 동작이 완료된 CameraComponen [chunk_id] | Events:601:0
[task] | distill [title] | RectTileMapComponent [category] | Components [rephrased] | # RectTileMapComponent 타일맵 관리 컴포넌트. 타일 배치, 제거, 좌표 변환 및 상태 초기화 기능을 제공합니다. ## Methods ### 타일 배치 및 제거 | 시그니처 | 설명 | | :--- | :--- | | `void SetTile(int32 tileIndex, int32 cellPositionX, int32 cellPositionY)` | 인덱스로 특정 위치에 타일 배치 | | `void SetTile(int32 tileIndex, Vector2Int cellPosition)` | 인덱스로 특정 [original] | - **void BoxFill(int32 tileIndex, Vector2Int from, Vector2Int to)** from부터 to까지의 사각형 영역에 타일을 배치합니다. tileIndex는 타일의 인덱스 번호입니다. - **void BoxFill(string tileName, Vector2Int from, Vector2Int to)** from부터 to까지의 사각형 영역에 타일을 배치합니다. tileName은 타일의 Name 프로퍼티입니다. - **void BoxRemove(Vector2Int from, Vector [chunk_id] | Components:599:1
[task] | distill [title] | RectTileMapComponent [category] | Components [rephrased] | **RectTileMapComponent**는 타일 정보 조회를 통해 이동 속력 등 게임 로직을 제어하는 데 사용됩니다. ### 주요 API - `ToCellPosition(worldPos: Vector3): Vector2` - 월드 좌표를 타일맵 좌표(셀 인덱스)로 변환합니다. - `GetTile(cellPos: Vector2): TileInfo | nil` - 지정된 셀 위치의 타일 정보를 반환합니다. 타일이 없으면 `nil`을 반환합니다. - `TileInfo.Name: string` - 타일 이름(예: "Fast [original] | 밟고 있는 타일에 따라 이동 속력이 바뀌는 예제입니다. ```lua Method: [client only] void OnUpdate () { if _UserService.LocalPlayer ~= self.Entity then return end local transform = self.Entity.TransformComponent local movement = self.Entity.MovementComponent local tilemap = self.Entity.CurrentMap:GetFirstChildCom [chunk_id] | Components:599:2
[task] | distill [title] | EnterPlayEvent [category] | Events [rephrased] | # EnterPlayEvent 플레이 모드 진입 시 발생하는 이벤트입니다. `EditorService` (Editor 공간)에서 트리거됩니다. ## Constructors - `EnterPlayEvent()`: 기본값으로 초기화합니다. [original] | 플레이 모드에 진입할 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * EditorService <img src="https://img.shields.io/static/v1?label=Space&message=Editor&color=c4a484" alt="custom" title="Editor에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **EnterPlayEvent()** 기본값으로 EnterPlayEvent를 초기화합니다. [chunk_id] | Events:608:0
[task] | wikipedia [title] | EnterPlayEvent [category] | Events [rephrased] | # EnterPlayEvent **EnterPlayEvent**는 플레이 모드에 진입할 때 발생하는 이벤트입니다. 이 이벤트는 에디터(Editor) 공간에서 실행되는 **EditorService** API에 의해 트리거됩니다. ## 생성자 (Constructors) **EnterPlayEvent()** 생성자는 기본값을 사용하여 **EnterPlayEvent** 인스턴스를 초기화합니다. [original] | 플레이 모드에 진입할 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * EditorService <img src="https://img.shields.io/static/v1?label=Space&message=Editor&color=c4a484" alt="custom" title="Editor에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **EnterPlayEvent()** 기본값으로 EnterPlayEvent를 초기화합니다. [chunk_id] | Events:608:0
[task] | wikipedia [title] | ChatEvent [category] | Events [rephrased] | `ChatEvent`는 메이플스토리 월드(mLua) 환경에서 사용자가 대화를 입력했을 때 발생하는 이벤트입니다. 이 이벤트는 클라이언트(Client) 공간에서 실행되는 `ChatComponent`에 의해 트리거됩니다. `ChatEvent` 객체는 다음 세 가지 프로퍼티를 포함합니다. `Message`는 사용자가 작성한 실제 대화 내용 문자열을 담고 있으며, `SenderName`은 해당 대화를 작성한 엔티티의 이름을 문자열 형태로 제공합니다. 또한 `UserId`는 대화를 작성한 유저를 식별하는 고유 ID를 문자열로 포함합니다. [original] | 대화가 입력되었을 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * ChatComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **string Message** 작성한 대화 내용입니다. - **string SenderName** 대화를 작성한 엔티 [chunk_id] | Events:603:0
[task] | knowledge_list [title] | RectTileMapComponent [category] | Components [rephrased] | 제공된 문서의 내용을 바탕으로 `RectTileMapComponent` 관련 핵심 사실을 추출한 목록입니다. 1. `RectTileMapComponent`는 엔티티가 밟고 있는 타일의 종류에 따라 이동 속력을 변경하는 로직을 구현하기 위해 사용될 수 있습니다. 2. `self.Entity.CurrentMap:GetFirstChildComponentByTypeName("RectTileMapComponent")` 메서드를 호출하면 현재 맵의 첫 번째 자식 컴포넌트 중 이름이 `"RectTileMapComponent"`인 컴포넌트를 반 [original] | 밟고 있는 타일에 따라 이동 속력이 바뀌는 예제입니다. ```lua Method: [client only] void OnUpdate () { if _UserService.LocalPlayer ~= self.Entity then return end local transform = self.Entity.TransformComponent local movement = self.Entity.MovementComponent local tilemap = self.Entity.CurrentMap:GetFirstChildCom [chunk_id] | Components:599:2
[task] | diverse_qa [title] | ChangedMovementInputEvent [category] | Events [rephrased] | 질문: `ChangedMovementInputEvent`는 어떤 상황에서 발생하나요? 답변: MovementComponent에서 이동 입력이 변경될 때 발생합니다. 질문: `ChangedMovementInputEvent`는 어떤 실행 공간(Space)에서 발생하나요? 답변: Client에서 이벤트가 발생합니다. 질문: `ChangedMovementInputEvent`의 `Direction` 프로퍼티의 타입과 의미는 무엇인가요? 답변: 타입은 Vector2이며, 변경된 이동 방향을 나타냅니다. 질문: `ChangedMovemen [original] | MovementComponent에서 이동 입력이 변경될 때 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * MovementComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Vector2 Direction** 변경된 이동 방향입니다. # Constructor [chunk_id] | Events:602:0
[task] | distill [title] | ChatEvent [category] | Events [rephrased] | **[Events] ChatEvent** 대화 입력 시 발생하는 이벤트입니다. `ChatComponent` (Client 공간)에 의해 발생합니다. ### Properties * **string Message**: 작성한 대화 내용 * **string SenderName**: 대화 작성 엔티티 이름 * **string UserId**: 대화 작성 유저 고유 ID ### Constructors * **ChatEvent(string message = nil, string senderName = nil, string [original] | 대화가 입력되었을 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * ChatComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **string Message** 작성한 대화 내용입니다. - **string SenderName** 대화를 작성한 엔티 [chunk_id] | Events:603:0
[task] | diverse_qa [title] | CameraZoomEndEvent [category] | Events [rephrased] | 질문: CameraZoomEndEvent는 어떤 시점에 발생하는 이벤트인가요? 답변: 카메라의 줌 변경이 완료된 후 발생하는 이벤트입니다. 질문: CameraZoomEndEvent를 발생시키는 서비스는 무엇인가요? 답변: CameraService 입니다. 질문: CameraZoomEndEvent는 어떤 공간(Space)에서 발생하나요? 답변: Client 공간에서 이벤트가 발생합니다. 질문: CameraZoomEndEvent의 CameraComponent ZoomCameraComponent 속성은 어떤 정보를 포함하나요? 답변 [original] | 카메라의 줌 변경이 완료된 후 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * CameraService <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **CameraComponent ZoomCameraComponent** 줌 동작이 완료된 CameraComponen [chunk_id] | Events:601:0
[task] | knowledge_list [title] | EnterPlayEvent [category] | Events [rephrased] | * `EnterPlayEvent`는 플레이 모드에 진입할 때 발생하는 이벤트입니다. * `EnterPlayEvent`는 `EditorService` API에 의해 발생하며, 실행 공간은 Editor입니다. * `EnterPlayEvent`는 기본값으로 초기화되는 `EnterPlayEvent()` 생성자를 제공합니다. [original] | 플레이 모드에 진입할 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * EditorService <img src="https://img.shields.io/static/v1?label=Space&message=Editor&color=c4a484" alt="custom" title="Editor에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **EnterPlayEvent()** 기본값으로 EnterPlayEvent를 초기화합니다. [chunk_id] | Events:608:0
[task] | knowledge_list [title] | ChatEvent [category] | Events [rephrased] | * `ChatEvent`는 `ChatComponent`(Client 공간)에 의해 대화 입력 시 발생하는 이벤트입니다. * `ChatEvent`의 `Message` 프로퍼티는 `string` 타입이며, 작성한 대화 내용을 나타냅니다. * `ChatEvent`의 `SenderName` 프로퍼티는 `string` 타입이며, 대화를 작성한 엔티티의 이름을 나타냅니다. * `ChatEvent`의 `UserId` 프로퍼티는 `string` 타입이며, 대화를 작성한 유저의 고유한 Id를 나타냅니다. * `ChatEvent` [original] | 대화가 입력되었을 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * ChatComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **string Message** 작성한 대화 내용입니다. - **string SenderName** 대화를 작성한 엔티 [chunk_id] | Events:603:0
[task] | extract_knowledge [title] | KinematicbodyComponent [category] | Components [rephrased] | # KinematicBodyComponent ## 1. 개념 설명 `KinematicBodyComponent`는 탑다운(상단 시점) 방식의 상하좌우 이동, 점프, 그리고 `RectTile` 맵과의 충돌 처리를 담당하는 컴포넌트입니다. 이 컴포넌트는 물리 엔진의 중력(Gravity)이나 가·감속(Acceleration/Deceleration)의 영향을 받지 않는다는 점에서 일반 물리 컴포넌트와 구별됩니다. 따라서 이동 속도와 점프 높이는 명시적으로 설정된 속성값에 의해 결정됩니다. 이 컴포넌트는 맵의 타일 타입이 `RectTil [original] | 탑다운 방식의 상하좌우 이동, 점프 및 렉트 타일과의 충돌 기능을 제공합니다. 중력과 가·감속 영항을 받지 않습니다. 타일맵이 RectTile일 때 동작합니다. # Properties - **Vector2 Acceleration [Deprecated]** 더는 사용하지 않는 프로퍼티입니다. SpeedFactor 프로퍼티를 사용하세요. - **boolean ApplyClimbableRotation [Sync]** true인 경우 회전하거나 기울어진 사다리를 탄 캐릭터는 사다리의 모습을 따릅니다. false인 경우 캐릭터는 [chunk_id] | Components:598:0
[task] | extract_knowledge [title] | KinematicbodyComponent [category] | Components [rephrased] | # KinematicbodyComponent `KinematicbodyComponent`는 키네틱 바디(Kinematic Body) 물리 계산을 담당하는 컴포넌트입니다. 이 컴포넌트를 통해 엔티티의 지면 접촉 상태 확인, 좌표 기반 위치 설정, 그리고 사각형 타일(RectTile)과의 상호작용 이벤트를 처리할 수 있습니다. ## 개념 설명 `KinematicbodyComponent`는 다음과 같은 주요 기능을 제공합니다. 1. **지면 상태 확인**: `IsOnGround()` 메서드를 통해 엔티티가 현재 바닥에 닿아 있는 [original] | - **Vector2 GetGroundPosition()** 로컬 좌표 기준으로 바닥 위치를 반환합니다. - **Vector2 GetWorldGroundPosition()** 월드 좌표 기준으로 바닥 위치를 반환합니다. - **boolean IsOnGround()** 현재 지면에 닿아 있는 상태인지 확인합니다. 점프 중일 때 false를 반환합니다. - **void OnEnterRectTile(RectTileEnterEvent enterEvent) [ScriptOverridable]** RectTileEnterEven [chunk_id] | Components:598:1
[task] | distill [title] | EntityCreateEditorEvent [category] | Events [rephrased] | ### EntityCreateEditorEvent 엔티티 생성 시 발생하는 에디터 전용 이벤트입니다. `EditorService`에 의해 트리거됩니다. **Properties** - `Entity Entity`: 생성된 엔티티 참조. **Constructor** - `EntityCreateEditorEvent(Entity entity = nil)`: 지정된 값으로 이벤트를 초기화합니다. [original] | 엔티티 생성 시 발생하는 에디터 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * EditorService <img src="https://img.shields.io/static/v1?label=Space&message=Editor&color=c4a484" alt="custom" title="Editor에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Entity Entity** 생성된 엔티티입니다. # Constructors - **EntityCreateEdito [chunk_id] | Events:609:0
[task] | diverse_qa [title] | RectTileMapComponent [category] | Components [rephrased] | 질문: 제공된 코드 예제의 주요 목적은 무엇인가요? 답변: 캐릭터가 밟고 있는 타일(RectTileMapComponent)의 종류에 따라 이동 속력(MovementComponent.InputSpeed)이 자동으로 바뀌도록 하는 것입니다. 질문: 해당 스크립트 메서드가 실행되는 공간은 어디인가요? 답변: 클라이언트 전용([client only]) 공간에서 실행됩니다. 질문: `OnUpdate` 함수 내에서 `_UserService.LocalPlayer ~= self.Entity` 조건이 참일 때 스크립트는 어떻게 동작하나요? 답변 [original] | 밟고 있는 타일에 따라 이동 속력이 바뀌는 예제입니다. ```lua Method: [client only] void OnUpdate () { if _UserService.LocalPlayer ~= self.Entity then return end local transform = self.Entity.TransformComponent local movement = self.Entity.MovementComponent local tilemap = self.Entity.CurrentMap:GetFirstChildCom [chunk_id] | Components:599:2
[task] | extract_knowledge [title] | EnterPlayEvent [category] | Events [rephrased] | # EnterPlayEvent ## 개념 설명 `EnterPlayEvent`는 플레이 모드에 진입할 때 발생하는 이벤트입니다. 이 이벤트는 `EditorService`에 의해 트리거되며, 주로 에디터 환경에서 플레이 테스트를 시작하는 시점을 감지하는 데 사용됩니다. ## API 사용법 ### Constructors - **`EnterPlayEvent()`**: 기본값으로 `EnterPlayEvent` 인스턴스를 초기화합니다. ## 예제 원문에 제공된 코드 예제가 없습니다. ## 주의사항 - 해당 이벤트는 `EditorSer [original] | 플레이 모드에 진입할 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * EditorService <img src="https://img.shields.io/static/v1?label=Space&message=Editor&color=c4a484" alt="custom" title="Editor에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **EnterPlayEvent()** 기본값으로 EnterPlayEvent를 초기화합니다. [chunk_id] | Events:608:0
[task] | distill [title] | EntityDeleteEditorEvent [category] | Events [rephrased] | # EntityDeleteEditorEvent 엔티티 삭제 시 발생하는 에디터 이벤트입니다. `EditorService` API 호출 시 발생하며, **Editor** 공간에서만 동작합니다. ## Properties * **string EntityName**: 삭제된 엔티티의 이름 ## Constructors * **EntityDeleteEditorEvent(string entityName = nil)** * `entityName` (string, optional): 초기화할 엔티티 이름 [original] | 엔티티가 삭제되었을 때 발생하는 에디터 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * EditorService <img src="https://img.shields.io/static/v1?label=Space&message=Editor&color=c4a484" alt="custom" title="Editor에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **string EntityName** 삭제된 엔티티의 이름입니다. # Constructors - **Entit [chunk_id] | Events:610:0