CREATE YOUR WORLD
멀티플레이

Multiplay Room State

7min
Document image


멀티플레이 룸은 연결된 플레이어 또는 객체 위치를 관리하기 위한 상태 속성을 제공합니다.

상태의 데이터 정의는 멀티플레이 패키지 아래의 스키마 파일에서 관리됩니다. 클라이언트가 방에 성공적으로 연결되면 onStateChange 이벤트가 처음 호출되며, 이후 상태 데이터에 변경이 있을 때마다 호출됩니다.

서버 API

API

설명

state.SCHEMA_NAME

스키마 파일에 정의된 SCHEMA_NAME 필드에 상태로 접근할 수 있습니다. 클라이언트 또는 내부 서버 로직의 요청에 따라 필드 값을 수정할 수 있습니다. 변경된 상태는 OnStateChange 이벤트를 사용하여 클라이언트에 자동으로 전파됩니다.

📘 다음 가이드를 참조하십시오. [ZEPETO.Multiplay(서버) API]

TypeScript


API

설명

room.OnStateChange(State, isFirst)

방에 참여할 때 상태 변경 콜백을 등록할 수 있습니다. 처음에는 전체 방의 상태를 수신하고, 이후에는 변경된 상태만 수신됩니다.

클라이언트 API

TypeScript




스키마 파일 정의

스키마는 방의 현재 상태를 정의하는 데이터 구조입니다. 방은 주로 플레이어 정보, 플레이어 또는 객체 위치 등을 관리하는 데 사용됩니다.

스키마를 편집하려면 Project View → MultiplayPackage Asset → schema.json을 선택한 다음, Inspector 창에서 월에 사용할 데이터 유형을 수정할 수 있습니다. Inspector 창에서 월에 사용할 데이터 유형을 수정할 수 있습니다.

1단계 : 스키마 유형 정의

스키마 유형은 월에서 사용되는 데이터 구조입니다. Inspector → 스키마 유형에서 [+] 버튼을 눌러 데이터를 추가합니다.

4-4-3-1.gif
4-4-3-1.gif




2단계 : 방 상태 추가

방 상태는 월 방의 현재 상태를 보여주는 속성이며, 위에서 정의한 스키마 구조로 표현됩니다.

스키마 유형 중에서 월의 현재 상태로 사용할 typeRoom State를 선택하고 SCHEMA_NAME으로 설정합니다.

Document image


schemas.json 예제

JSON




업데이트됨 11 Oct 2024
Doc contributor
이 페이지가 도움이 되었습니까?