ZEPETO.Multiplay
형식 | 설명 |
|---|---|
Multiplay Room에 접속한 플레이어의 클라이언트를 나타냅니다. | |
Multiplay Room에서 클라이언트로 메시지를 브로드캐스트할 때의 옵션입니다. | |
Multiplay Room 생성 시의 옵션입니다. | |
Multiplay Room을 나타냅니다. |
SandboxPlayer
interface
Multiplay Room에 접속한 플레이어의 클라이언트를 나타냅니다.
속성
이름 | 형식 | 설명 |
|---|---|---|
sessionId | string | 클라이언트의 세션 ID |
userId | string | 플레이어의 사용자 ID |
메서드
send
send(type: string | number, message?: T) → void
지정한 채널을 통해 클라이언트에 메시지를 보냅니다.
매개변수 | 형식 | 설명 |
|---|---|---|
type | string | number | 메시지를 보낼 채널의 식별자입니다. |
message (선택 사항) | T | message 보낼 메시지의 내용입니다. (선택 사항) |
IBroadcastOptions
interface
Multiplay Room에서 클라이언트로 메시지를 브로드캐스트할 때의 옵션입니다.
속성
이름 | 형식 | 설명 |
|---|---|---|
except | 브로드캐스트에서 제외할 클라이언트를 지정합니다. |
SandboxOptions
interface
Multiplay Room 생성 시의 옵션입니다.
속성
이름 | 형식 | 설명 |
|---|---|---|
isSandbox | boolean | Unity 에디터의 QR 모바일 테스트처럼 Room이 로컬에서 호스팅되는지 여부를 지정합니다. |
Sandbox
class
Multiplay Room을 나타냅니다.
속성
이름 | 형식 | 설명 |
|---|---|---|
locked | boolean | Multiplay Room이 잠겨 있는지 여부를 지정합니다. |
roomId | string | Multiplay Room의 ID입니다. 중복을 피하기 위해 생성 시 무작위로 할당됩니다. |
uniqueId | string | Multiplay Room의 ID입니다. 생성 시 명시적으로 할당됩니다. |
maxClients | number | Multiplay Room에 접속할 수 있는 클라이언트의 최대 수입니다. |
state | State | Multiplay Room의 상태입니다. 상태 데이터의 스키마는 Multiplay Schema로 정의됩니다. |
clients | IterableIterator<SandboxPlayer> | Multiplay Room에 접속한 클라이언트를 순회 가능한 형태로 나타낸 값입니다. |
allowReconnectionTime | number | 연결이 불안정한 클라이언트의 재접속을 허용하는 제한 시간(초)입니다. |
private | boolean | Multiplay Room이 비공개인지 여부를 지정합니다. |
메서드
onCreate
onCreate(options: SandboxOptions) → void | Promise<void>
이 추상 메서드의 구현은 Multiplay Room이 생성될 때 한 번만 실행됩니다. 구현은 선택적으로 async로 선언할 수 있습니다.
매개변수 | 형식 | 설명 |
|---|---|---|
options | 해당 Multiplay Room 생성 시의 옵션입니다. |
반환값: void | Promise<void> — 비동기인 경우 Promise<void>를 반환하고, 그렇지 않으면 void를 반환합니다.
onJoin
onJoin(client: SandboxPlayer) → void | Promise<void>
이 추상 메서드의 구현은 클라이언트가 Multiplay Room에 입장할 때 실행됩니다. 구현은 선택적으로 async로 선언할 수 있습니다.
매개변수 | 형식 | 설명 |
|---|---|---|
client | 플레이어의 클라이언트 객체입니다. |
반환값: void | Promise<void> — 비동기인 경우 Promise<void>를 반환하고, 그렇지 않으면 void를 반환합니다.
onLeave
onLeave(client: SandboxPlayer, consented?: boolean) → void | Promise<void>
이 추상 메서드의 구현은 클라이언트가 Multiplay Room에서 퇴장할 때 실행됩니다. 구현은 선택적으로 async로 선언할 수 있습니다.
매개변수 | 형식 | 설명 |
|---|---|---|
client | 플레이어의 클라이언트 객체입니다. | |
consented (선택 사항) | boolean | 플레이어가 재접속에 동의했는지 여부를 지정합니다. |
반환값: void | Promise<void> — 비동기인 경우 Promise<void>를 반환하고, 그렇지 않으면 void를 반환합니다.
lock
lock() → Promise<void>
Multiplay Room을 잠급니다.
반환값: Promise<void> — 잠금 처리가 완료되면 이행되는 Promise입니다.
unlock
unlock() → Promise<void>
Multiplay Room의 잠금을 해제합니다.
반환값: Promise<void> — 잠금 해제 처리가 완료되면 이행되는 Promise입니다.
onTick
onTick(deltaTime: number) → void
이 메서드의 구현은 약 100밀리초마다 실행됩니다.
매개변수 | 형식 | 설명 |
|---|---|---|
deltaTime | number | 이전 호출로부터의 시간 차이(밀리초)를 나타냅니다. |
onMessage
onMessage(messageType: '*' | string | number, callback: (client: SandboxPlayer, message: T) => void) → void
클라이언트로부터 받은 메시지를 처리할 콜백을 등록합니다.
매개변수 | 형식 | 설명 |
|---|---|---|
messageType | '*' | string | number | 메시지가 전송된 채널의 식별자입니다. |
callback | (client: SandboxPlayer, message: T) => void | 수신한 메시지를 처리할 콜백 메서드입니다. |
broadcast
broadcast(type: string | number, message?: any, options?: IBroadcastOptions) → void
지정한 채널을 통해 Multiplay Room에 접속한 모든 클라이언트에 메시지를 보냅니다.
매개변수 | 형식 | 설명 |
|---|---|---|
type | string | number | 메시지를 보낼 채널의 식별자입니다. |
message (선택 사항) | any | 메시지의 내용입니다. (선택 사항) |
options (선택 사항) | 브로드캐스트 옵션입니다. |
loadPlayer
loadPlayer(sessionId: string) → SandboxPlayer | undefined
세션 ID에 연결된 클라이언트 객체를 가져옵니다.
매개변수 | 형식 | 설명 |
|---|---|---|
sessionId | string | 클라이언트의 세션 ID입니다. |
반환값: SandboxPlayer | undefined — 클라이언트 객체입니다.
setPrivate
setPrivate(isPrivate: boolean) → Promise<void>
Multiplay Room의 비공개 상태를 설정합니다.
매개변수 | 형식 | 설명 |
|---|---|---|
isPrivate | boolean | Multiplay Room의 비공개 상태를 지정합니다. |
반환값: Promise<void> — 처리가 완료되면 이행되는 Promise입니다.
kick
kick(client: SandboxPlayer, reason?: string) → Promise<void>
Multiplay Room에서 클라이언트를 강제 퇴장시킵니다.
매개변수 | 형식 | 설명 |
|---|---|---|
client | 강제 퇴장시킬 클라이언트의 객체입니다. | |
reason (선택 사항) | string | 강제 퇴장 사유를 선택적으로 기술합니다. |
반환값: Promise<void> — 처리가 완료되면 이행되는 Promise입니다.