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 | ระบุว่า Room ถูกโฮสต์แบบโลคัลหรือไม่ เช่น สำหรับการทดสอบ QR Mobile ใน Unity editor |
Sandbox
class
แทน Multiplay Room
พร็อพเพอร์ตี้
ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
locked | boolean | ระบุว่า Multiplay Room ถูกล็อกหรือไม่ |
roomId | string | ID ของ Multiplay Room ซึ่งกำหนดแบบสุ่มเมื่อสร้างเพื่อหลีกเลี่ยงการซ้ำกัน |
uniqueId | string | ID ของ Multiplay Room ซึ่งกำหนดอย่างชัดเจนเมื่อสร้าง |
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 ที่ resolve เมื่อกระบวนการล็อกเสร็จสิ้น
unlock
unlock() → Promise<void>
ปลดล็อก Multiplay Room
ค่าที่คืนกลับ: Promise<void> — Promise ที่ resolve เมื่อกระบวนการปลดล็อกเสร็จสิ้น
onTick
onTick(deltaTime: number) → void
การอิมพลีเมนต์เมธอดนี้จะทำงานประมาณทุก 100 มิลลิวินาที
พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
deltaTime | number | แทนผลต่างของเวลา (เป็นมิลลิวินาที) นับจากการเรียกครั้งก่อน |
onMessage
onMessage(messageType: '*' | string | number, callback: (client: SandboxPlayer, message: T) => void) → void
ลงทะเบียน callback เพื่อจัดการข้อความที่ได้รับจากไคลเอนต์
พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
messageType | '*' | string | number | ตัวระบุของแชนเนลที่ข้อความถูกส่งผ่าน |
callback | (client: SandboxPlayer, message: T) => void | เมธอด callback สำหรับจัดการข้อความที่ได้รับ |
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 ที่ resolve เมื่อกระบวนการเสร็จสิ้น
kick
kick(client: SandboxPlayer, reason?: string) → Promise<void>
เตะไคลเอนต์ออกจาก Multiplay Room
พารามิเตอร์ | ประเภท | คำอธิบาย |
|---|---|---|
client | อ็อบเจกต์ของไคลเอนต์ที่จะถูกเตะออก | |
reason (ไม่บังคับ) | string | ระบุเหตุผลของการเตะออกได้ตามต้องการ |
ค่าที่คืนกลับ: Promise<void> — Promise ที่ resolve เมื่อกระบวนการเสร็จสิ้น