[task] | single_turn [pass] | ⏳ 미판정 [title] | WebLoadFailEvent [question] | WebViewComponent에서 WebLoadFailEvent가 발생하는 정확한 조건은 무엇인가요? [answer] | WebViewComponent에서 WebLoadFailEvent는 **웹 페이지 로드 실패 시** 발생합니다. 참고 문서에는 그 이상의 구체적인 실패 조건(예: 네트워크 오류, HTML 파싱 오류, 특정 HTTP 상태 코드 등)에 대한 설명이 제공되지 않습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 웹 페이지 로드 실패 시 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * WebViewComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **WebLoadFailEvent()** 지정한 값으로 WebLoadFailEvent를 초기화합니다.
[task] | two_turn [pass] | ⏳ 미판정 [title] | ParticleEmitEndEvent [question] | ParticleEmitEndEvent 를 직접 생성하여 테스트하는 용도로 사용할 수 있는 생성자는 어떻게 정의되어 있나요 [answer] | ParticleEmitEndEvent의 생성자는 다음과 같이 정의되어 있습니다. **생성자: `ParticleEmitEndEvent()`** 기본값으로 `ParticleEmitEndEvent` 인스턴스를 초기화합니다. 인자를 받지 않으며, 호출 즉시 이벤트 객체가 생성됩니다. ```lua local testEvent = ParticleEmitEndEvent() ``` 참고로 이 이벤트는 `BaseParticleComponent` 계열의 파티클 컴포넌트(`AreaParticleComponent`, `BasicParticleCo [followup] | 기본값으로 초기화된 ParticleEmitEndEvent 객체를 생성하여 특정 컴포넌트에 수동으로 분배(dispatch)하거나, 유닛 테스트에서 이벤트 수신 여부를 검증하기 위한 간단한 코드 스니펫을 작성해 주세요. [followup_answer] | 참고 문서에 따르면 `ParticleEmitEndEvent`는 파티클 방출이 종료될 때 `BaseParticleComponent` 계열 컴포넌트에서 **자동으로 발생**하는 이벤트이며, 문서에는 이 이벤트를 **수동으로 dispatch(분배)하는 API나 메서드가 정의되어 있지 않습니다.** 또한 `ParticleEmitEndEvent` 객체는 `ParticleEntity` 프로퍼티가 `[ReadOnly]`로 지정되어 있어, 기본 생성자로 생성한 객체에 엔티티 정보를 직접 설정할 수도 없습니다. 따라서 제공된 문서 범위 내에서 [scores] | [judge_reason] | [source_doc] | 파티클의 방출이 종료되었을 때 BaseParticleComponent에서 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * AreaParticleComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다." data-nodeid="4"> * BasicParticleComponent <img src="h
[task] | instruction_following [pass] | ⏳ 미판정 [title] | WebViewPopupEvent [question] | WebViewPopupEvent가 발생하는 실행 공간과 트리거 API를 1문장으로 설명하세요. [answer] | WebViewPopupEvent는 클라이언트(Client) 공간에서 WebViewComponent API를 통해 새로운 웹 페이지가 새로운 창으로 열렸을 때 발생합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 새로운 웹 페이지가 새로운 창으로 열렸을 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * WebViewComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **WebViewPopupEvent()** 기본값으로 WebViewPopupEvent를 초기
[task] | single_turn [pass] | ⏳ 미판정 [title] | WebLoadFailEvent [question] | WebLoadFailEvent는 서버 쪽에서도 수신할 수 있나요? [answer] | WebLoadFailEvent는 클라이언트(Client) 공간에서만 발생하는 이벤트입니다. 제공된 문서에 따르면 이 이벤트는 `WebViewComponent`에 의해 발생하며, 명시적으로 **Client** 공간에서 이벤트가 발생한다고 안내하고 있습니다. 따라서 서버(Server) 쪽에서 직접 수신할 수 없습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 웹 페이지 로드 실패 시 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * WebViewComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **WebLoadFailEvent()** 지정한 값으로 WebLoadFailEvent를 초기화합니다.
[task] | single_turn [pass] | ⏳ 미판정 [title] | UserKickEvent [question] | KickReason 프로퍼티의 값이 Profanity일 때와 다른 사유일 때 로직을 어떻게 구분해야 하나요? [answer] | `UserKickEvent` 이벤트에서 `KickReason` 프로퍼티의 값은 **열거형(Enum)** 입니다. 따라서 `if` 문에서 `KickReason` 상수와 직접 비교하여 로직을 구분합니다. 참고 문서에 명시된 `UserKickEvent`의 생성자 기본값에서 확인할 수 있듯이, `KickReason.Profanity`라는 상수가 존재합니다. 따라서 `event.KickReason` 값이 `KickReason.Profanity`와 같은지 비교하는 방식이 표준적인 처리 방법입니다. 아래는 `UserKickEvent` 핸들러 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 유저가 추방되었을 때 발생하는 이벤트입니다. 서버에서만 발생합니다. 이 Event는 아래 API에 의해 발생합니다. * UserService <img src="https://img.shields.io/static/v1?label=Space&message=Server&color=c4a484" alt="custom" title="Server에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **KickReason KickReason** 추방 사유입니다. - **string ProfileCode
[task] | instruction_following [pass] | ⏳ 미판정 [title] | WebViewPopupEvent [question] | WebViewPopupEvent를 초기화하는 mLua 코드만 출력하고 설명은 주석으로 작성하세요. [answer] | ```lua -- WebViewPopupEvent를 기본값으로 초기화합니다. local popupEvent = WebViewPopupEvent() ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 새로운 웹 페이지가 새로운 창으로 열렸을 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * WebViewComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **WebViewPopupEvent()** 기본값으로 WebViewPopupEvent를 초기
[task] | code [pass] | ⏳ 미판정 [title] | PhysicsContactBeginEvent [question] | PhysicsContactBeginEvent 가 발생했을 때 _UserService 를 통해 해당 엔티티의 소유권을 가진 유저 ID 를 조회하여 log 로 기록하는 스크립트를 작성해줘 [answer] | 제공된 참고 문서에는 `PhysicsContactBeginEvent`의 구조와 이벤트 핸들러 사용법이 포함되어 있지만, `_UserService`를 통해 엔티티의 소유권을 가진 유저 ID를 조회하는 API나 메서드는 명시되어 있지 않습니다. 따라서 요청하신 "소유권을 가진 유저 ID 조회" 부분은 문서에 근거하여 작성할 수 없습니다. 대신, 문서에 명시된 `PhysicsContactBeginEvent`의 `ContactedBodyEntity` 프로퍼티를 사용하여 충돌한 엔티티의 이름을 조회하고 `log`로 기록하는 스크립트만 작 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 두 물리 강체가 충돌을 시작할 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * PhysicsColliderComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Entity ContactedBodyEntity** 충돌한 P
[task] | code [pass] | ⏳ 미판정 [title] | WheelJointComponent [question] | WheelJointComponent 를 사용하여 AddJoint() 로 Joint 를 생성한 뒤, SetMaxMotorTorque(0, 500.0) 및 SetCollideConnected(0, false) 를 호출하여 모터 토크 제한과 충돌 무시 옵션을 설정하는 스크립트를 작성해줘 [answer] | `WheelJointComponent`의 `AddJoint` 메서드로 타겟 엔티티와 로컬 앵커를 지정하여 Joint를 추가한 후, 반환된 인덱스(0)를 사용하여 `SetMaxMotorTorque`와 `SetCollideConnected`를 호출하는 스크립트입니다. ```lua Method: [server] void SetupWheelJoint() { -- 타겟 엔티티를 경로로 가져옵니다. (실제 경로에 맞게 수정) local targetEntity = _EntityService:GetEntityByPath("/maps/map0 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | WheelJoint를 생성, 삭제합니다. 연결된 강체가 바퀴처럼 동작합니다. # Properties - **SyncList<WheelJoint> Joints [Sync] [ReadOnly]** Joint 정보를 설정합니다. ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enabl
[task] | instruction_following [pass] | ⏳ 미판정 [title] | WebViewPopupEvent [question] | WebViewPopupEvent의 생성자 명칭과 역할을 표로 정리해서 출력하세요. [answer] | WebViewPopupEvent의 생성자 명칭과 역할은 다음과 같습니다. | 생성자 명칭 | 역할 | | :--- | :--- | | `WebViewPopupEvent()` | 기본값으로 WebViewPopupEvent를 초기화합니다. | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 새로운 웹 페이지가 새로운 창으로 열렸을 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * WebViewComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **WebViewPopupEvent()** 기본값으로 WebViewPopupEvent를 초기
[task] | two_turn [pass] | ⏳ 미판정 [title] | WebViewPopupEvent [question] | WebViewPopupEvent 이벤트는 어떤 상황에서 발생하며, WebViewComponent와 어떤 관계가 있나요? [answer] | `WebViewPopupEvent`는 새로운 웹 페이지가 새로운 창으로 열렸을 때 발생하는 이벤트입니다. 이 이벤트는 `WebViewComponent`에 의해 발생하며, 해당 컴포넌트는 클라이언트(Space: Client) 공간에서 동작합니다. 즉, 클라이언트 측의 `WebViewComponent`가 새로운 웹 팝업 창을 여는 동작을 수행하면 `WebViewPopupEvent`가 트리거됩니다. [followup] | WebViewPopupEvent를 핸들러로 등록하여 팝업이 열렸을 때 특정 클라이언트 동작을 수행하는 코드 예제를 작성해 주세요. [followup_answer] | `WebViewPopupEvent`는 `WebViewComponent`에 의해 발생하므로, 해당 컴포넌트가 부착된 엔티티에서 `[self]` 핸들러로 등록하여 처리할 수 있습니다. 참고 문서에는 `WebViewPopupEvent` 객체에서 직접 접근 가능한 구체적인 프로퍼티(예: URL, 제목 등)가 명시되어 있지 않으므로, 아래 예제는 이벤트 발생 자체를 감지하여 로그를 출력하는 기본적인 형태입니다. ```lua Event Handler: [self] HandleWebViewPopupEvent(WebViewPopupEvent [scores] | [judge_reason] | [source_doc] | 새로운 웹 페이지가 새로운 창으로 열렸을 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * WebViewComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **WebViewPopupEvent()** 기본값으로 WebViewPopupEvent를 초기
[task] | single_turn [pass] | ⏳ 미판정 [title] | WheelJointComponent [question] | Joints 프로퍼티가 SyncList 타입이라 클라이언트에서도 값을 읽을 수 있는데, AddJoint나 SetMotorSpeed와 같은 수정 작업은 서버에서만 실행해야 하는지, 아니면 클라이언트에서도 바로 호출할 수 있는지 궁금합니다. [answer] | 제공된 문서에는 `AddJoint`나 `SetMotorSpeed` 메서드 자체에 `[server only]` 또는 `[client only]`와 같은 명시적인 실행 공간 제한 태그가 없습니다. 하지만 문서의 예제 코드(`Examples` 섹션)를 보면, `AddJoint`와 같은 수정 작업을 수행하는 함수가 **`[server]`** 태그를 가지고 있는 것을 확인할 수 있습니다. 또한 `Joints` 프로퍼티는 `[Sync]`와 `[ReadOnly]` 태그를 가지고 있어, 클라이언트에서는 이 리스트의 값을 읽을 수는 있지만 직접 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | WheelJoint를 생성, 삭제합니다. 연결된 강체가 바퀴처럼 동작합니다. # Properties - **SyncList<WheelJoint> Joints [Sync] [ReadOnly]** Joint 정보를 설정합니다. ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enabl
[task] | single_turn [pass] | ⏳ 미판정 [title] | PhysicsContactEndEvent [question] | PhysicsContactEndEvent는 서버와 클라이언트 모두에서 발생하지만, 충돌 종료 시점의 처리 로직을 서버에서만 실행하려면 어떤 실행 공간 어노테이션을 붙여야 하나요? [answer] | `PhysicsContactEndEvent` 이벤트 핸들러에 `[server only]` 어노테이션을 붙이면 됩니다. 이 어노테이션을 사용하면 해당 이벤트 핸들러가 서버에서만 실행되어, 충돌 종료 시점의 처리 로직이 클라이언트에서는 동작하지 않습니다. ```lua Event Handler: [server only] HandlePhysicsContactEndEvent (PhysicsContactEndEvent event) { local ContactedBodyEntity = event.ContactedBodyEntity [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 두 물리 강체가 충돌이 끝날 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * PhysicsColliderComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Entity ContactedBodyEntity** 충돌한 Ph
[task] | instruction_following [pass] | ⏳ 미판정 [title] | WebViewPopupClosedEvent [question] | WebViewPopupClosedEvent가 발생하는 실행 공간을 명시하고, 해당 이벤트 핸들러의 함수 시그니처를 코드 블록으로만 출력하세요. [answer] | WebViewPopupClosedEvent는 Client 공간에서 발생합니다. ```lua Event Handler: [self] HandleWebViewPopupClosedEvent(WebViewPopupClosedEvent event) { } ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 열린 웹 페이지가 닫힐 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * WebViewComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **WebViewPopupClosedEvent()** 기본값으로 WebViewPopupClosedEvent를
[task] | code [pass] | ⏳ 미판정 [title] | PhysicsContactBeginEvent [question] | PhysicsContactBeginEvent 의 ContactedBodyEntity 가 null 이 아닌지 검사한 후, _EntityService:GetEntityByPath("/maps/map01/obj") 로 특정 엔티티를 비교하여 충돌 발생 여부를 판단하는 스크립트를 작성해줘 [answer] | `PhysicsContactBeginEvent`의 `ContactedBodyEntity`가 `nil`이 아닌지 먼저 검사하고, `_EntityService:GetEntityByPath("/maps/map01/obj")`로 가져온 엔티티와 동일하면 충돌이 발생했다고 판단하는 스크립트입니다. ```lua Event Handler: [self] HandlePhysicsContactBeginEvent(PhysicsContactBeginEvent event) { local ContactedBodyEntity = event.Contacte [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 두 물리 강체가 충돌을 시작할 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * PhysicsColliderComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Entity ContactedBodyEntity** 충돌한 P
[task] | instruction_following [pass] | ⏳ 미판정 [title] | WebViewPopupClosedEvent [question] | WebViewPopupClosedEvent를 트리거하는 API 이름과 이벤트 발생 시점을 2줄 이내의 목록으로 정리하세요. [answer] | - 트리거 API: `WebViewComponent` - 발생 시점: 열린 웹 페이지가 닫힐 때 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 열린 웹 페이지가 닫힐 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * WebViewComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **WebViewPopupClosedEvent()** 기본값으로 WebViewPopupClosedEvent를
[task] | instruction_following [pass] | ⏳ 미판정 [title] | WebViewPopupClosedEvent [question] | WebViewPopupClosedEvent의 생성자 메서드 이름과 초기화 동작을 1문장으로 설명하세요. [answer] | WebViewPopupClosedEvent의 생성자 메서드 이름은 `WebViewPopupClosedEvent()`이며, 기본값으로 이벤트를 초기화하는 동작을 수행합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 열린 웹 페이지가 닫힐 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * WebViewComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **WebViewPopupClosedEvent()** 기본값으로 WebViewPopupClosedEvent를
[task] | two_turn [pass] | ⏳ 미판정 [title] | WheelJointComponent [question] | WheelJointComponent를 사용하여 강체를 바퀴처럼 동작시키는 기본 원리와 주요 프로퍼티는 무엇인가요? [answer] | WheelJointComponent는 강체(Rigid Body)를 바퀴처럼 회전 및 이동하게 만드는 조인트(Joint)를 관리하는 컴포넌트입니다. 이 컴포넌트는 두 엔티티 사이에 연결을 생성하여, 연결된 강체가 회전축을 중심으로 바퀴와 유사한 물리적 동작을 수행하도록 합니다. 주요 프로퍼티와 동작 원리는 다음과 같습니다. ### 1. 주요 프로퍼티 * **Joints**: `SyncList<WheelJoint>` 타입의 읽기 전용(ReadOnly) 리스트입니다. 현재 생성된 WheelJoint 객체들의 정보를 담고 있으며, [followup] | AddJoint 메서드 호출 시 실패하는 경우(-1 반환)를 처리하고, 생성된 Joint의 MotorSpeed와 MaxMotorTorque를 설정하는 mLua 코드 예제를 작성해 주세요. [followup_answer] | `AddJoint` 메서드 호출 시 반환값을 확인하여 실패(-1) 여부를 처리하고, 성공 시 `SetMotorSpeed`와 `SetMaxMotorTorque`를 설정하는 mLua 코드 예제는 다음과 같습니다. ```lua Method: [server] void SetupWheelJoint(Entity targetEntity) { -- AddJoint 호출 -- localAnchorA: 자기 엔티티 기준 앵커 -- localAnchorB: 타겟 엔티티 기준 앵커 local jointIndex = self [scores] | [judge_reason] | [source_doc] | WheelJoint를 생성, 삭제합니다. 연결된 강체가 바퀴처럼 동작합니다. # Properties - **SyncList<WheelJoint> Joints [Sync] [ReadOnly]** Joint 정보를 설정합니다. ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enabl
[task] | single_turn [pass] | ⏳ 미판정 [title] | PhysicsContactEndEvent [question] | PhysicsContactEndEvent의 ContactedBodyEntity 속성에 접근할 때 어떤 타입의 엔티티를 반환받나요? [answer] | `PhysicsContactEndEvent`의 `ContactedBodyEntity` 속성은 **Entity** 타입을 반환합니다. 이 속성은 충돌이 끝난 상대 물리 강체(Rigidbody)를 나타내는 엔티티를 제공합니다. 따라서 이 값을 받아서 해당 엔티티의 이름(`Name`)을 확인하거나, 다른 컴포넌트(예: `PhysicsRigidbodyComponent`)에 접근하는 등의 작업을 수행할 수 있습니다. ```lua Event Handler: [self] HandlePhysicsContactEndEvent (PhysicsCo [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 두 물리 강체가 충돌이 끝날 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * PhysicsColliderComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Entity ContactedBodyEntity** 충돌한 Ph
[task] | code [pass] | ⏳ 미판정 [title] | WheelJointComponent [question] | 바퀴 엔티티의 WheelJointComponent 를 활용하여 OnBeginPlay() 시점에 특정 타겟 엔티티와 Joint 를 생성하고, AddJoint() 반환 값이 -1 이 아닌 경우 SetMotorEnable(0, true) 및 SetMotorSpeed(0, 10.0) 을 호출하여 모터를 활성화하는 스크립트를 작성해줘 [answer] | 요청하신 기능을 구현하기 위해 `WheelJointComponent`의 `AddJoint`, `SetMotorEnable`, `SetMotorSpeed` 메서드를 사용해야 합니다. `OnBeginPlay()`는 표준 생명주기 메서드이므로 `[server only]` 실행 공간에서 호출하는 것이 적절합니다 (물리 연산은 서버에서 수행). 타겟 엔티티의 경로(`/maps/map01/TargetEntity`로 가정)와 앵커 위치(`Vector2.zero`)는 실제 환경에 맞게 수정해야 합니다. `AddJoint`는 성공 시 0 이상의 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | WheelJoint를 생성, 삭제합니다. 연결된 강체가 바퀴처럼 동작합니다. # Properties - **SyncList<WheelJoint> Joints [Sync] [ReadOnly]** Joint 정보를 설정합니다. ##### inherited from Component: - **boolean Enable [Sync]** 컴포넌트 활성화 여부를 확인합니다. - **boolean EnableInHierarchy [ReadOnly] [HideFromInspector]** 계층 구조상에서 이 컴포넌트가 Enabl
[task] | single_turn [pass] | ⏳ 미판정 [title] | WebViewPopupEvent [question] | WebViewPopupEvent를 초기화할 때 전달해야 하는 매개변수가 있나요? [answer] | WebViewPopupEvent를 초기화할 때 전달해야 하는 매개변수는 없습니다. 참고 문서에 따르면 `WebViewPopupEvent()` 생성자는 매개변수 없이 기본값으로 초기화됩니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 새로운 웹 페이지가 새로운 창으로 열렸을 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * WebViewComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **WebViewPopupEvent()** 기본값으로 WebViewPopupEvent를 초기
[task] | single_turn [pass] | ⏳ 미판정 [title] | WebLoadFailEvent [question] | WebLoadFailEvent를 생성하기 위해 WebLoadFailEvent() 생성자를 사용할 때 어떤 인자를 전달해야 하나요? [answer] | WebLoadFailEvent() 생성자는 인자를 전달하지 않습니다. 참고 문서에 따르면, WebLoadFailEvent() 생성자의 설명은 "지정한 값으로 WebLoadFailEvent를 초기화합니다"이지만, 생성자 정의 부분에 인자 목록이 명시되어 있지 않습니다. 따라서 이 생성자를 사용할 때는 인자를 전달하지 않습니다. 아래는 WebLoadFailEvent를 처리하는 Event Handler의 예시입니다. ```lua Event Handler: [self] HandleWebLoadFailEvent(WebLoadFailEv [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 웹 페이지 로드 실패 시 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * WebViewComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **WebLoadFailEvent()** 지정한 값으로 WebLoadFailEvent를 초기화합니다.
[task] | instruction_following [pass] | ⏳ 미판정 [title] | CollisionGroup [question] | CollisionGroup의 Id 속성을 직접 수정할 수 있는지 문서 근거를 바탕으로 3문장 이내로 [answer] | CollisionGroup의 `Id` 속성은 `[ReadOnly]`로 지정되어 있어 직접 수정할 수 없습니다. 따라서 해당 값을 변경하는 코드를 작성하면 에러가 발생하거나 무시됩니다. 식별자는 충돌 그룹 생성 시점에 정해지며, 실행 중 변경하는 것은 지원되지 않습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 충돌 그룹을 나타냅니다. # Properties - **string Id [ReadOnly]** 이 충돌 그룹의 식별자입니다. # Methods - **table<CollisionGroup> GetCollideGroups()** 이 충돌 그룹과 충돌하는 충돌 그룹들을 테이블로 얻어옵니다. # Examples 충돌 그룹을 다루는 예제입니다. ```lua local trigger = self.Entity.TriggerComponent local group = trigger.CollisionGroup log (gr
[task] | single_turn [pass] | ⏳ 미판정 [title] | WebViewPopupEvent [question] | WebViewPopupEvent는 어떤 상황에서 발생하며, 어떤 컴포넌트의 어떤 동작과 연결되어 있나요? [answer] | WebViewPopupEvent는 새로운 웹 페이지가 새로운 창으로 열렸을 때 발생하는 이벤트입니다. 이 이벤트는 **WebViewComponent**의 동작과 연결되어 있으며, 클라이언트(Clinet) 공간에서 발생합니다. 즉, WebViewComponent를 통해 웹 페이지가 팝업 형태로 열리면 해당 이벤트가 트리거됩니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 새로운 웹 페이지가 새로운 창으로 열렸을 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * WebViewComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **WebViewPopupEvent()** 기본값으로 WebViewPopupEvent를 초기
[task] | two_turn [pass] | ⏳ 미판정 [title] | ParticleEmitEndEvent [question] | BaseParticleComponent 계열에서 발생하는 ParticleEmitEndEvent의 역할과 어떤 컴포넌트에서 트리거되는지 설명해 주세요 [answer] | `ParticleEmitEndEvent`는 파티클의 방출이 종료되었을 때 `BaseParticleComponent`에서 발생하는 이벤트입니다. 이 이벤트를 통해 파티클이 더 이상 방출되지 않는 시점을 감지하고, 그 시점에 특정 로직(예: 사운드 재생, 다른 파티클 활성화, UI 업데이트 등)을 실행할 수 있습니다. 이 이벤트는 다음과 같은 파티클 컴포넌트에서 트리거됩니다: * **AreaParticleComponent**: Server 및 Client 공간에서 발생 * **BasicParticleComponent**: S [followup] | UI 계열 컴포넌트(UISpriteParticleComponent 등)와 일반 계열(BasicParticleComponent 등)의 발생 공간(서버/클라이언트) 차이와, 이 차이로 인해 이벤트 핸들러에 [client only] 또는 [server only] 태그를 붙일 때 주의할 점은 무엇인가요? [followup_answer] | UI 계열 파티클 컴포넌트와 일반 계열 파티클 컴포넌트는 이벤트가 발생하는 공간(Space)에 명확한 차이가 있습니다. ### 1. 발생 공간 차이 * **일반 계열 (BasicParticleComponent, AreaParticleComponent, SpriteParticleComponent)** * **Server, Client** 양쪽 공간에서 이벤트가 발생합니다. * 즉, 서버 스크립트와 클라이언트 스크립트 모두에서 이 이벤트를 수신할 수 있습니다. * **UI 계열 (UISpritePart [scores] | [judge_reason] | [source_doc] | 파티클의 방출이 종료되었을 때 BaseParticleComponent에서 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * AreaParticleComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다." data-nodeid="4"> * BasicParticleComponent <img src="h
[task] | single_turn [pass] | ⏳ 미판정 [title] | WebViewPopupEvent [question] | WebViewPopupEvent는 서버에서도 수신할 수 있나요? [answer] | WebViewPopupEvent는 서버에서 수신할 수 없습니다. 해당 이벤트는 **Client** 공간에서 발생하는 이벤트이며, 문서에도 "Client에서 이벤트가 발생합니다"라고 명시되어 있습니다. 따라서 서버 스크립트(`[server only]` 또는 `[server]` 메서드)에서는 이 이벤트를 직접 수신하거나 처리할 수 없습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 새로운 웹 페이지가 새로운 창으로 열렸을 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * WebViewComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **WebViewPopupEvent()** 기본값으로 WebViewPopupEvent를 초기
[task] | single_turn [pass] | ⏳ 미판정 [title] | WebViewPopupEvent [question] | WebViewComponent 없이 WebViewPopupEvent를 직접 발생시킬 수 있는 방법이 있나요? [answer] | 아니요, WebViewComponent 없이 WebViewPopupEvent를 직접 발생시킬 수 있는 방법은 없습니다. WebViewPopupEvent는 WebViewComponent API에 의해만 발생하는 이벤트입니다. 따라서 이 이벤트를 처리하려면 반드시 WebViewComponent가 존재하고, 해당 컴포넌트를 통해 웹 페이지가 새 창으로 열려야 합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 새로운 웹 페이지가 새로운 창으로 열렸을 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * WebViewComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **WebViewPopupEvent()** 기본값으로 WebViewPopupEvent를 초기
[task] | instruction_following [pass] | ⏳ 미판정 [title] | CollisionGroup [question] | CollisionGroup의 Properties와 Methods를 표로 정리해서 [answer] | CollisionGroup의 Properties와 Methods는 다음과 같습니다. | 구분 | 이름 | 접근자/타입 | 설명 | | :--- | :--- | :--- | :--- | | **Property** | `Id` | `string` (ReadOnly) | 이 충돌 그룹의 식별자입니다. | | **Method** | `GetCollideGroups()` | `table<CollisionGroup>` | 이 충돌 그룹과 충돌하는 충돌 그룹들을 테이블로 반환합니다. | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 충돌 그룹을 나타냅니다. # Properties - **string Id [ReadOnly]** 이 충돌 그룹의 식별자입니다. # Methods - **table<CollisionGroup> GetCollideGroups()** 이 충돌 그룹과 충돌하는 충돌 그룹들을 테이블로 얻어옵니다. # Examples 충돌 그룹을 다루는 예제입니다. ```lua local trigger = self.Entity.TriggerComponent local group = trigger.CollisionGroup log (gr
[task] | code [pass] | ⏳ 미판정 [title] | ParticleLoopEvent [question] | Loop 프로퍼티가 활성화된 BasicParticleComponent가 부착된 엔티티에서 ParticleLoopEvent가 발생했을 때, log 함수를 사용하여 "파티클 루프 발생" 메시지를 출력하는 스크립트를 작성해줘. [answer] | `ParticleLoopEvent`는 `BasicParticleComponent`의 `Loop` 프로퍼티가 활성화되어 파티클 방출 주기가 돌아왔을 때 발생하는 이벤트입니다. 해당 이벤트 핸들러를 작성하여 로그를 출력하는 스크립트는 다음과 같습니다. ```lua Property: [Sync] BasicParticleComponent ParticleComponent = nil Method: [client only] void OnBeginPlay() { self.ParticleComponent = self.Entity.Basi [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | Loop 프로퍼티가 활성화 된 경우, 파티클의 방출 주기가 돌아와서 방출을 반복할 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * AreaParticleComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다." data-nodeid="4"> * BasicParticleComponent <img
[task] | single_turn [pass] | ⏳ 미판정 [title] | PhysicsContactEndEvent [question] | 두 물리 강체가 겹쳐 있을 때와 완전히 분리된 시점에서 PhysicsContactEndEvent가 발생하는 구체적인 조건은 무엇인가요? [answer] | 제공된 문서에 따르면, `PhysicsContactEndEvent`가 발생하는 구체적인 조건은 **두 물리 강체의 충돌이 끝날 때**입니다. 문서에는 "겹쳐 있을 때"와 "완전히 분리된 시점" 중 어느 쪽인지에 대한 더 세부적인 물리적 기준(예: 오버랩 제거 시점, 접촉점 소실 시점 등)에 대한 명시적인 설명이 없습니다. 또한, `PhysicsContactBeginEvent`와 `PhysicsContactEndEvent`의 구체적인 발생 시점 차이에 대한 비교 설명도 문서에 포함되어 있지 않습니다. 따라서 문서에 근거할 수 있는 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 두 물리 강체가 충돌이 끝날 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * PhysicsColliderComponent <img src="https://img.shields.io/static/v1?label=Space&message=Server,Client&color=c4a484" alt="custom" title="Server, Client에서 이벤트가 발생합니다." data-nodeid="4"> # Properties - **Entity ContactedBodyEntity** 충돌한 Ph
[task] | single_turn [pass] | ⏳ 미판정 [title] | WebViewPopupEvent [question] | WebViewPopupEvent가 발생했을 때 웹 페이지의 URL을 바로 알 수 있나요? [answer] | 네, WebViewPopupEvent가 발생했을 때 해당 이벤트 객체에서 웹 페이지의 URL 정보를 직접 확인할 수 있는 프로퍼티나 필드는 제공되지 않습니다. 참고 문서에는 WebViewPopupEvent의 기본 생성자(WebViewPopupEvent())만 언급되어 있으며, 이벤트 객체(event)에 접근하여 URL을 읽어올 수 있는 구체적인 필드(예: event.URL 등)에 대한 정의는 없습니다. 따라서 이벤트 핸들러 내에서 URL을 바로 알 수는 없습니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 새로운 웹 페이지가 새로운 창으로 열렸을 때 발생하는 이벤트입니다. 이 Event는 아래 API에 의해 발생합니다. * WebViewComponent <img src="https://img.shields.io/static/v1?label=Space&message=Client&color=c4a484" alt="custom" title="Client에서 이벤트가 발생합니다." data-nodeid="4"> # Constructors - **WebViewPopupEvent()** 기본값으로 WebViewPopupEvent를 초기