[task] | instruction_following [pass] | ⏳ 미판정 [title] | PrismaticJoint [question] | PrismaticJoint의 모터 관련 속성 3개를 나열하고 각 속성의 타입과 설명을 표로 정리해서 [answer] | PrismaticJoint의 모터 관련 속성은 총 3가지입니다. 각 속성의 타입과 설명은 다음과 같습니다. | 속성 이름 | 타입 | 설명 | | :--- | :--- | :--- | | `MotorEnable` | `boolean` | Joint의 모터 기능을 사용할지 여부를 설정합니다. `True`일 경우 Joint가 `MotorSpeed` 값에 영향을 받습니다. | | `MotorSpeed` | `float` | Joint의 목표 모터 속도를 설정합니다. | | `MaxMotorForce` | `float` | 목표 모터 속 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 두 Entity가 특정 축을 따라서만 상대적 이동하도록 합니다. PrismaticJointComponent의 Joints에 추가해 사용합니다. # Properties - **boolean CollideConnected** Joint로 연결된 두 Entity가 서로 충돌할지 여부를 설정합니다. - **Vector2 LocalAnchorA** JointComponent를 가진 Entity의 Anchor를 설정합니다. Entity 기준 상대 좌표를 사용합니다. - **Vector2 LocalAnchorB** Joint로 연
[task] | instruction_following [pass] | ⏳ 미판정 [title] | DistanceJoint [question] | DistanceJoint의 생성자 두 가지의 시그니처와 각 생성자가 수행하는 초기화 방식을 표로 정리하세요. [answer] | DistanceJoint의 생성자는 두 가지이며, 각각의 시그니처와 초기화 방식은 다음과 같습니다. | 생성자 시그니처 | 초기화 방식 | | :--- | :--- | | `DistanceJoint()` | 기본값으로 DistanceJoint를 초기화합니다. | | `DistanceJoint(DistanceJoint joint)` | 지정한 `joint` 객체와 동일한 값으로 DistanceJoint를 초기화합니다. | [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 두 Entity의 거리가 일정하게 유지되도록 합니다. 마치 두 Entity가 막대기로 연결해둔 것처럼 동작하게 됩니다. DistanceJointComponent의 Joints에 추가해 사용합니다. # Properties - **boolean CollideConnected** Joint로 연결된 두 Entity가 서로 충돌할지 여부를 설정합니다. - **float Length** Joint로 연결된 두 Entity가 유지할 거리를 설정합니다. - **Vector2 LocalAnchorA** JointComponent를
[task] | code [pass] | ⏳ 미판정 [title] | WebLoadFailEvent [question] | WebViewComponent 의 WebLoadFailEvent 핸들러를 구현하여 웹 페이지 로드 실패 시 log 함수를 통해 실패 사실을 출력하는 스크립트를 작성해줘 [answer] | WebViewComponent 에서 발생하는 WebLoadFailEvent 를 처리하려면, 해당 컴포넌트가 부착된 엔티티의 스크립트에 `[self]` 이벤트 핸들러를 정의해야 합니다. 참고 문서에 따르면 `WebLoadFailEvent` 는 `WebViewComponent` 에 의해 **Client** 공간에서 발생합니다. 따라서 이벤트 핸들러는 `[self]` 태그를 사용하고, 이벤트 객체를 파라미터로 받습니다. 아래는 웹 페이지 로드 실패 시 로그를 출력하는 mLua 스크립트 예시입니다. ```lua Event Handle [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] | code [pass] | ⏳ 미판정 [title] | WheelJointComponent [question] | WheelJointComponent 의 GetJointsCount() 를 통해 현재 연결된 Joint 수를 확인하고, OnUpdate() 루프에서 이 값이 0 이 되면 _TimerService:SetTimerOnce() 를 이용하여 1초 후 특정 엔티티와 새로운 Joint 를 추가하는 로직을 구현하는 스크립트를 작성해줘 [answer] | 요청하신 로직을 구현하기 위해 `WheelJointComponent`의 `GetJointsCount()` 메서드와 `_TimerService`를 사용하는 스크립트를 작성했습니다. **주의사항:** 1. `AddJoint` 메서드는 `WheelJointComponent` 문서에 명시된 시그니처(`Entity targetEntity, Vector2 localAnchorA, Vector2 localAnchorB`)를 따르도록 작성했습니다. (참고 문서의 예제 코드 중 `DistanceJointComponent` 예제는 3번째 인자가 있 [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] | code [pass] | ⏳ 미판정 [title] | WebLoadFailEvent [question] | WebViewComponent 의 WebLoadFailEvent 핸들러를 구현하여 웹 페이지 로드 실패 시 self.Entity.TransformComponent.Position 을 변경하는 스크립트를 작성해줘 [answer] | 참고 문서에 따르면 `WebLoadFailEvent`는 `WebViewComponent`에 의해 발생하는 이벤트입니다. 이 이벤트 핸들러는 `WebViewComponent`가 있는 엔티티 자체에서 처리해야 하므로, 핸들러의 공간은 `[self]`로 설정해야 합니다. 요구사항에 따라 웹 페이지 로드 실패 시 `self.Entity.TransformComponent.Position`을 변경하는 mLua 스크립트는 다음과 같습니다. ```lua Event Handler: [self] HandleWebLoadFailEvent(WebLo [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] | LinePoint [question] | LineRendererComponent에서 LinePoint의 Color, Position, Width 속성은 각각 어떤 역할을 하나요? [answer] | LineRendererComponent에서 LinePoint의 각 속성은 다음과 같은 역할을 합니다. * **Color**: 선의 색상을 설정합니다. * **Position**: 선의 위치를 결정합니다. * **Width**: 선의 두께를 설정합니다. [followup] | LinePoint 생성 시 Vector2, Color, float 인자를 전달하는 생성자의 구체적인 사용 예시를 보여주세요. [followup_answer] | LinePoint를 생성할 때 `Vector2`, `Color`, `float` 인자를 전달하는 생성자의 사용 예시는 다음과 같습니다. ```lua -- 위치(Vector2), 색상(Color), 두께(float)를 지정하여 LinePoint 생성 local point = LinePoint(Vector2(10, 20), Color.red, 5.0) ``` [scores] | [judge_reason] | [source_doc] | LineRendererComponent가 선을 그릴 때 사용합니다. # Properties - **Color Color** 선의 색상을 설정합니다. - **Vector2 Position** 선의 위치입니다. - **float Width** 선의 두께를 설정합니다. # Constructors - **LinePoint()** 기본값으로 LinePoint를 생성합니다. - **LinePoint(Vector2 position, Color color, float width)** 주어진 위치, 색상, 두께로 LineP
[task] | code [pass] | ⏳ 미판정 [title] | WebViewPopupEvent [question] | WebViewPopupEvent를 수신하여 팝업된 웹 페이지의 URL을 로그로 출력하는 스크립트를 작성해줘 [answer] | 제공된 참고 문서에는 `WebViewPopupEvent`가 "새로운 웹 페이지가 새로운 창으로 열렸을 때 발생하는 이벤트"이며, `WebViewComponent`에 의해 Client 공간에서 발생한다는 정보만 포함되어 있습니다. 문서에 `WebViewPopupEvent` 객체가 어떤 프로퍼티(예: URL, Title 등)를 가지고 있는지 명시되어 있지 않으므로, **팝업된 웹 페이지의 URL을 로그로 출력하는 코드를 작성할 수 없습니다.** 문서에 없는 API나 프로퍼티 이름을 추측하여 생성하는 것은 금지되어 있습니다. `Web [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] | WebLoadCompleteEvent [question] | WebViewComponent의 WebLoadCompleteEvent 이벤트 핸들러 내에서 wait(0.1) 함수를 사용해 0.1초 대기 후 log 함수로 "로드 후 처리 시작"을 출력하는 비동기 처리 스크립트를 작성해줘 [answer] | WebViewComponent에서 발생하는 WebLoadCompleteEvent는 클라이언트 공간(Client)에서 트리거되는 이벤트입니다. 요청하신 대로 이벤트 핸들러 내에서 wait(0.1)으로 0.1초를 대기한 후 log 함수를 사용하여 메시지를 출력하는 스크립트는 다음과 같습니다. ```lua Event Handler: [self] HandleWebLoadCompleteEvent(WebLoadCompleteEvent event) { --------------- Native Event Sender Info ------ [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 - **WebLoadCompleteEvent()** 지정한 값으로 WebLoadCompleteEvent를 초기화합니
[task] | instruction_following [pass] | ⏳ 미판정 [title] | DistanceJoint [question] | DistanceJoint를 생성하고 Length를 10으로 설정하는 mLua 코드만 출력하되, 모든 설명은 주석으로 작성하세요. [answer] | ```lua Method: [server only] void OnBeginPlay() { -- DistanceJoint 객체를 기본 생성자로 초기화합니다. local newJoint = DistanceJoint() -- Joint로 연결된 두 Entity가 유지할 거리를 10으로 설정합니다. newJoint.Length = 10 -- 추가적인 설정이 필요하면 여기서 다른 프로퍼티를 설정할 수 있습니다. -- 예: newJoint.CollideConnected = true -- 예 [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | 두 Entity의 거리가 일정하게 유지되도록 합니다. 마치 두 Entity가 막대기로 연결해둔 것처럼 동작하게 됩니다. DistanceJointComponent의 Joints에 추가해 사용합니다. # Properties - **boolean CollideConnected** Joint로 연결된 두 Entity가 서로 충돌할지 여부를 설정합니다. - **float Length** Joint로 연결된 두 Entity가 유지할 거리를 설정합니다. - **Vector2 LocalAnchorA** JointComponent를
[task] | code [pass] | ⏳ 미판정 [title] | WebLoadFailEvent [question] | WebViewComponent 의 WebLoadFailEvent 핸들러를 구현하여 웹 페이지 로드 실패 시 _TimerService:SetTimerOnce 를 호출하여 1초 후 특정 액션을 수행하는 스크립트를 작성해줘 [answer] | WebViewComponent에서 발생하는 WebLoadFailEvent는 Client 공간에서만 발생하므로, 해당 이벤트 핸들러는 `[self]` 태그와 함께 Client에서 실행되도록 선언해야 합니다. 웹 페이지 로드 실패가 감지되면 `_TimerService:SetTimerOnce`를 사용하여 1초 후 특정 액션(예: 로그 출력 또는 다른 컴포넌트 메서드 호출)이 수행되도록 예약하는 로직을 구현할 수 있습니다. 아래는 웹 페이지 로드 실패 시 1초 후 "웹 페이지 로드 실패 처리" 로그를 출력하는 예시 스크립트입니다. `` [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] | code [pass] | ⏳ 미판정 [title] | WebViewPopupEvent [question] | WebViewPopupEvent가 3회 이상 연속으로 발생하면 _UserService를 통해 해당 플레이어에게 경고 메시지를 보내는 스크립트를 작성해줘 [answer] | 제공된 참고 문서에는 `WebViewPopupEvent`가 `WebViewComponent`에 의해 Client 공간에서 발생한다는 정보와 기본 생성자 정보만 포함되어 있습니다. 문서에는 `WebViewPopupEvent`의 구체적인 프로퍼티(예: URL, Window ID 등)나 `_UserService`를 통해 메시지를 보내는 구체적인 API 메서드가 명시되어 있지 않습니다. 따라서 요청하신 "경고 메시지를 보내는" 동작은 문서에 근거한 정확한 API를 사용할 수 없으므로 구현할 수 없습니다. 대신, `WebViewPopupE [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] | LinePoint [question] | LinePoint를 기본값으로만 초기화하고 싶을 때 사용할 수 있는 생성자가 있나요? [answer] | 네, 기본값으로만 초기화하려면 `LinePoint()` 생성자를 사용하면 됩니다. 예제: ```lua local point = LinePoint() ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | LineRendererComponent가 선을 그릴 때 사용합니다. # Properties - **Color Color** 선의 색상을 설정합니다. - **Vector2 Position** 선의 위치입니다. - **float Width** 선의 두께를 설정합니다. # Constructors - **LinePoint()** 기본값으로 LinePoint를 생성합니다. - **LinePoint(Vector2 position, Color color, float width)** 주어진 위치, 색상, 두께로 LineP
[task] | single_turn [pass] | ⏳ 미판정 [title] | LinePoint [question] | LineRendererComponent의 선 색상, 위치, 두께를 제어하는 LinePoint의 프로퍼티 이름은 무엇인가요? [answer] | LinePoint의 프로퍼티 이름은 다음과 같습니다. * **Color**: 선의 색상을 설정합니다. * **Position**: 선의 위치입니다. * **Width**: 선의 두께를 설정합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | LineRendererComponent가 선을 그릴 때 사용합니다. # Properties - **Color Color** 선의 색상을 설정합니다. - **Vector2 Position** 선의 위치입니다. - **float Width** 선의 두께를 설정합니다. # Constructors - **LinePoint()** 기본값으로 LinePoint를 생성합니다. - **LinePoint(Vector2 position, Color color, float width)** 주어진 위치, 색상, 두께로 LineP
[task] | single_turn [pass] | ⏳ 미판정 [title] | WebLoadCompleteEvent [question] | WebLoadCompleteEvent는 서버에서 발생하여 클라이언트로 동기화되는지, 아니면 클라이언트 로컬에서만 처리되는지 어떻게 구별할 수 있나요? [answer] | `WebLoadCompleteEvent`는 **클라이언트 로컬에서만 처리**되는 이벤트입니다. 서버에서 발생하여 클라이언트로 동기화되지 않습니다. 이벤트가 발생한 공간(Space)을 확인하면 이를 구별할 수 있으며, `WebLoadCompleteEvent`의 경우 **Client** 공간에서 발생한다는 명시적 표기가 있습니다. 따라서 이 이벤트를 수신하는 스크립트 컴포넌트도 클라이언트 측에서 실행되어야 합니다. mLua 스크립트에서 이 이벤트를 처리하려면 Event Handler 블록의 `[service: WebViewCompo [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 - **WebLoadCompleteEvent()** 지정한 값으로 WebLoadCompleteEvent를 초기화합니
[task] | single_turn [pass] | ⏳ 미판정 [title] | WebViewClickedEvent [question] | WebViewClickedEvent 를 직접 생성해서 테스트할 때 기본값이 Vector2(0, 0) 이라고 하는데, 특정 위치의 클릭을 시뮬레이션하려면 어떻게 해야 하나요? [answer] | `WebViewClickedEvent`는 클릭이 발생한 위치를 0에서 1 사이의 범위로 정규화한 `NormalizedPosition` 프로퍼티를 포함합니다. 특정 위치의 클릭을 시뮬레이션하려면 생성자(`Constructor`)에 해당 정규화 위치를 `Vector2` 형태로 전달하여 이벤트를 직접 생성하면 됩니다. 기본값이 `Vector2(0, 0)`이므로, 예를 들어 웹뷰의 오른쪽 상단(1.0, 1.0) 또는 중앙(0.5, 0.5) 등의 위치를 지정할 수 있습니다. 아래는 특정 위치(예: x=0.5, y=0.8)의 클릭을 시뮬레 [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"> # Properties - **Vector2 NormalizedPosition** 클릭이 발생한 위치를 0에서 1의 범위로 정규화시킨 값입니
[task] | single_turn [pass] | ⏳ 미판정 [title] | LinePoint [question] | LinePoint 객체를 생성할 때 위치, 색상, 두께를 동시에 지정하는 생성자의 인자 순서가 어떻게 되나요? [answer] | LinePoint 객체를 위치, 색상, 두께를 동시에 지정하여 생성할 때 생성자 인자 순서는 다음과 같습니다. 1. **Vector2 position**: 선의 위치 2. **Color color**: 선의 색상 3. **float width**: 선의 두께 즉, `LinePoint(Vector2 position, Color color, float width)` 순서로 인자를 전달합니다. ```lua local myPoint = LinePoint(Vector2(1.0, 2.0), Color.red, 5.0) ``` [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | LineRendererComponent가 선을 그릴 때 사용합니다. # Properties - **Color Color** 선의 색상을 설정합니다. - **Vector2 Position** 선의 위치입니다. - **float Width** 선의 두께를 설정합니다. # Constructors - **LinePoint()** 기본값으로 LinePoint를 생성합니다. - **LinePoint(Vector2 position, Color color, float width)** 주어진 위치, 색상, 두께로 LineP
[task] | code [pass] | ⏳ 미판정 [title] | WebViewPopupClosedEvent [question] | WebViewComponent 의 WebViewPopupClosedEvent 를 처리하여 팝업이 닫혔을 때 log("WebView popup closed") 를 출력하는 스크립트를 작성해줘 [answer] | WebViewComponent의 `WebViewPopupClosedEvent`를 처리하려면 해당 컴포넌트가 장착된 엔티티의 스크립트에서 이벤트 핸들러를 정의하면 됩니다. 이 이벤트는 클라이언트 공간에서 발생하므로 `[self]` 또는 `[client only]` 컨텍스트에서 처리할 수 있습니다. 참고 문서에 명시된 `WebViewPopupClosedEvent`의 특정 프로퍼티(예: URL 등)는 제공되지 않았으므로, 이벤트 발생 자체만을 감지하여 로그를 출력하는 형태로 작성합니다. ```lua Event Handler: [sel [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] | single_turn [pass] | ⏳ 미판정 [title] | LinePoint [question] | LinePoint 객체를 만들 때 Color 타입의 색상 값을 전달해야 하는 프로퍼티는 무엇인가요? [answer] | LinePoint 객체를 만들 때 Color 타입의 색상 값을 전달해야 하는 프로퍼티는 `Color`입니다. LinePoint 생성자 `LinePoint(Vector2 position, Color color, float width)`에서 두 번째 인자로 Color 타입의 값을 전달하여 선의 색상을 설정합니다. [followup] | [followup_answer] | [scores] | [judge_reason] | [source_doc] | LineRendererComponent가 선을 그릴 때 사용합니다. # Properties - **Color Color** 선의 색상을 설정합니다. - **Vector2 Position** 선의 위치입니다. - **float Width** 선의 두께를 설정합니다. # Constructors - **LinePoint()** 기본값으로 LinePoint를 생성합니다. - **LinePoint(Vector2 position, Color color, float width)** 주어진 위치, 색상, 두께로 LineP
[task] | code [pass] | ⏳ 미판정 [title] | WebViewPopupClosedEvent [question] | WebViewComponent 의 WebViewPopupClosedEvent 를 처리하고, 이벤트 객체의 기본값 초기화 상태 확인 후 log("WebViewPopupClosedEvent received") 를 기록하는 스크립트를 작성해줘 [answer] | `WebViewPopupClosedEvent`는 `WebViewComponent`에 의해 발생하며, 열린 웹 페이지가 닫힐 때 트리거되는 클라이언트 공간(Client) 이벤트입니다. 해당 이벤트를 처리하려면 `[self]` 태그를 사용하여 이벤트 핸들러를 정의합니다. 요청하신 대로 이벤트 수신 시 로그를 기록하는 스크립트는 다음과 같습니다. 참고로, `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] | code [pass] | ⏳ 미판정 [title] | WebViewPopupClosedEvent [question] | WebViewComponent 의 WebViewPopupClosedEvent 를 수신하여 이벤트 발생 시 self:OnWebViewClosed() 라는 커스텀 메서드를 호출하는 스크립트를 작성해줘 [answer] | `WebViewComponent`에서 발생하는 `WebViewPopupClosedEvent`를 수신하기 위해 Event Handler를 정의하고, 해당 핸들러 내부에서 요청하신 `self:OnWebViewClosed()` 메서드를 호출하도록 구성할 수 있습니다. 참고로, 제공된 문서에는 `WebViewPopupClosedEvent`의 구체적인 프로퍼티(매개변수)가 명시되어 있지 않으므로, 이벤트 객체(`event`)의 필드를 직접 참조하는 코드는 포함하지 않았습니다. 또한, `OnWebViewClosed`는 커스텀 메서드이므로 실 [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] | LinePoint [question] | LinePoint의 기본 생성자와 매개변수 있는 생성자의 차이점은 무엇인가요? [answer] | LinePoint의 두 생성자는 초기화 방식에 차이가 있습니다. 1. **기본 생성자 `LinePoint()`** - 매개변수를 받지 않습니다. - LinePoint 객체를 생성할 때 모든 프로퍼티(`Color`, `Position`, `Width`)가 시스템이 정의한 기본값으로 초기화됩니다. 2. **매개변수 있는 생성자 `LinePoint(Vector2 position, Color color, float width)`** - `position`(위치), `color`(색상), `width`(두께)를 인자로 받 [followup] | 매개변수 있는 생성자에서 Width 값을 0으로 설정하면 어떤 결과가 나오나요? [followup_answer] | 제공된 참고 문서에는 `Width` 값을 0으로 설정했을 때의 구체적인 동작이나 결과가 명시되어 있지 않습니다. 문서에는 `Width`가 "선의 두께를 설정합니다"라고만 정의되어 있을 뿐, 0 또는 음수 등 특수한 값에 대한 처리 방식이나 시각적 결과에 대한 설명은 포함되어 있지 않습니다. [scores] | [judge_reason] | [source_doc] | LineRendererComponent가 선을 그릴 때 사용합니다. # Properties - **Color Color** 선의 색상을 설정합니다. - **Vector2 Position** 선의 위치입니다. - **float Width** 선의 두께를 설정합니다. # Constructors - **LinePoint()** 기본값으로 LinePoint를 생성합니다. - **LinePoint(Vector2 position, Color color, float width)** 주어진 위치, 색상, 두께로 LineP
[task] | code [pass] | ⏳ 미판정 [title] | WebViewClickedEvent [question] | WebViewClickedEvent 를 처리하여 클릭 위치의 x 좌표가 0.5보다 크면 "오른쪽 클릭" 이 아니면 "왼쪽 클릭" 이라고 로그를 기록하는 스크립트를 작성해줘 [answer] | 참고 문서에 따르면 `WebViewClickedEvent`는 `WebViewComponent`에서 발생하는 **Client** 공간의 이벤트입니다. 이벤트 객체에는 클릭 위치를 0~1 범위로 정규화한 `NormalizedPosition` (Vector2) 프로퍼티가 포함되어 있습니다. 요구사항에 따라 `WebViewClickedEvent`를 처리하고, `NormalizedPosition`의 x 좌표가 0.5보다 큰지 확인하여 로그를 출력하는 스크립트는 다음과 같습니다. ```lua Event Handler: [self] Hand [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"> # Properties - **Vector2 NormalizedPosition** 클릭이 발생한 위치를 0에서 1의 범위로 정규화시킨 값입니
[task] | single_turn [pass] | ⏳ 미판정 [title] | CollisionGroup [question] | TriggerComponent의 CollisionGroup 프로퍼티에 할당할 때 CollisionGroups.Default 외에 크리에이터가 직접 만든 충돌 그룹에 접근하는 구체적인 문법이 어떻게 되나요? [answer] | 제공된 문서에는 `CollisionGroups.Default`를 사용하여 기본 충돌 그룹에 접근하는 문법만 명시되어 있습니다. 크리에이터가 직접 만든 충돌 그룹에 접근하는 구체적인 문법이나 `CollisionGroups` 객체 내에 사용자 정의 그룹을 참조하기 위한 다른 프로퍼티/메서드(예: `CollisionGroups.MyGroup` 등)는 문서에 언급되어 있지 않습니다. 따라서 해당 구체적인 문법은 확인이 불가능합니다. [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] | WebLoadFailEvent [question] | WebViewComponent 의 WebLoadFailEvent 핸들러를 구현하여 웹 페이지 로드 실패 시 self:MyMethod() 를 호출하여 커스텀 로직을 처리하는 스크립트를 작성해줘 [answer] | `WebViewComponent`에서 발생하는 `WebLoadFailEvent`는 **Client** 공간에서 발생합니다. 따라서 이 이벤트를 처리하는 이벤트 핸들러는 클라이언트에서 실행되며, `self:MyMethod()`를 호출하기 위해 해당 메서드도 `[client only]` 또는 `[client]` 실행 공간으로 선언해야 합니다. 참고 문서에 `WebLoadFailEvent`의 구체적인 프로퍼티(예: 실패한 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 - **WebLoadFailEvent()** 지정한 값으로 WebLoadFailEvent를 초기화합니다.
[task] | code [pass] | ⏳ 미판정 [title] | WebViewPopupEvent [question] | WebViewPopupEvent 발생 시 _TimerService:SetTimerOnce를 사용하여 2초 후 해당 팝업을 자동으로 닫는 스크립트를 작성해줘 [answer] | 참고 문서에 `WebViewPopupEvent`는 **Client** 공간에서 발생하며, `WebViewComponent`에 의해 트리거된다고 명시되어 있습니다. 하지만 문서에는 **팝업을 닫기 위한 API(예: `Close()`, `Hide()` 등)나 `WebViewPopupEvent`에서 접근할 수 있는 팝업 인스턴스/컴포넌트 참조 필드가 제공되지 않습니다.** 따라서, 문서에 있는 정보만으로는 "해당 팝업"을 특정하여 닫는 코드를 작성할 수 없습니다. `_TimerService:SetTimerOnce`를 사용해서 2초 후 [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] | WebViewClickedEvent [question] | WebViewClickedEvent 를 수신하여 클릭 위치가 y 좌표 0.8 이상일 때만 특정 동작(예: 로그 출력)을 수행하도록 필터링하는 스크립트를 작성해줘 [answer] | `WebViewClickedEvent`는 `WebViewComponent`에 의해 **Client** 공간에서 발생합니다. 이벤트 객체의 `NormalizedPosition` 프로퍼티를 통해 클릭 위치를 0~1 범위의 정규화 값으로 얻을 수 있습니다. 요구사항인 "y 좌표가 0.8 이상일 때만 동작 수행"을 위해 `event.NormalizedPosition.y >= 0.8` 조건을 검사하는 스크립트입니다. ```lua Event Handler: [self] HandleWebViewClickedEvent(WebViewClicke [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"> # Properties - **Vector2 NormalizedPosition** 클릭이 발생한 위치를 0에서 1의 범위로 정규화시킨 값입니
[task] | code [pass] | ⏳ 미판정 [title] | WebLoadCompleteEvent [question] | WebViewComponent의 WebLoadCompleteEvent 이벤트 핸들러를 등록하여 웹 페이지 로드 완료 시 log 함수로 "웹 페이지 로드 완료" 메시지를 출력하는 스크립트를 작성해줘 [answer] | WebViewComponent에서 발생하는 `WebLoadCompleteEvent`는 클라이언트 공간에서 트리거됩니다. 해당 이벤트를 처리하기 위해 스크립트 컴포넌트에 `Event Handler` 블록을 정의하고, `[self]` 또는 해당 컴포넌트가 붙어 있는 엔티티를 대상으로 이벤트를 수신하도록 설정합니다. 아래는 웹 페이지 로드 완료 시 "웹 페이지 로드 완료" 메시지를 로그로 출력하는 mLua 스크립트입니다. ```lua Event Handler: [self] HandleWebLoadCompleteEvent(WebLoad [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 - **WebLoadCompleteEvent()** 지정한 값으로 WebLoadCompleteEvent를 초기화합니
[task] | single_turn [pass] | ⏳ 미판정 [title] | WebLoadFailEvent [question] | WebLoadFailEvent 핸들러에서 네트워크 오류를 직접 재시도하는 로직을 작성할 수 있나요? [answer] | 네, 가능합니다. `WebLoadFailEvent` 핸들러를 통해 웹 페이지 로드 실패를 감지한 후, `_TimerService`를 사용해 대기 시간을 설정하고 다시 로드를 시도하는 로직을 구현할 수 있습니다. 다만, 참고 문서에 `WebViewComponent`의 특정 메서드(예: `Reload()`, `LoadUrl()` 등) 이름이 명시되어 있지 않으므로, **로드 재시도 메서드 이름은 실제 사용 중인 `WebViewComponent` API에 맞게 수정**해야 합니다. 아래 예시는 일반적인 구조를 보여주며, `WebView [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] | code [pass] | ⏳ 미판정 [title] | WebLoadCompleteEvent [question] | WebViewComponent의 WebLoadCompleteEvent 이벤트 핸들러에서 이벤트 객체의 UserId 속성을 읽어 log 함수로 출력하고, 해당 사용자가 웹을 성공적으로 로드했다는 사실을 확인하는 스크립트를 작성해줘 [answer] | 참고 문서에 따르면, `WebLoadCompleteEvent`는 `WebViewComponent`에 의해 발생하는 클라이언트 공간 이벤트입니다. 그러나 문서에는 `WebLoadCompleteEvent` 객체가 어떤 프로퍼티(속성)를 가지고 있는지 명시되어 있지 않습니다. 특히 질문에서 언급한 `UserId` 속성은 `WebLoadCompleteEvent` 문서에 존재하지 않습니다. `UserId`는 보통 `UserService` 관련 이벤트(예: `UserEnterEvent`)에서 사용되는 속성이며, `WebLoadComplete [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 - **WebLoadCompleteEvent()** 지정한 값으로 WebLoadCompleteEvent를 초기화합니
[task] | code [pass] | ⏳ 미판정 [title] | CollisionGroup [question] | OnBeginPlay() 시점에 TriggerComponent.CollisionGroup을 CollisionGroups.Default로 설정하는 스크립트를 작성해줘. [answer] | `OnBeginPlay()`가 실행되는 시점에 엔티티의 `TriggerComponent`에 접근하여 `CollisionGroup`을 `CollisionGroups.Default`로 할당하는 스크립트입니다. ```lua Method: [server only] void OnBeginPlay() { local trigger = self.Entity.TriggerComponent trigger.CollisionGroup = CollisionGroups.Default } ``` [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