Multiplay Room
👍 房间连接过程
- 请求客户端连接
- ZEPETO 多人游戏服务器生成客户端会话并连接到房间
- 如果房间成功连接
- 分享连接到客户端的房间 ID 和会话 ID
- 如果客户端无法访问房间
- 生成一个新房间并连接
服务器代码应在 World.multiplay 包中实现 → index.ts 文件。
服务器提供以下房间生命周期事件:
房间生命周期事件 | 描述 |
---|---|
onCreate(options: SandboxOptions) | 当房间创建时调用。可以在此添加房间初始化逻辑。 |
onJoin(client: SandboxPlayer) | 当客户端加入房间时调用。 参数 client (SandboxPlayer) 包含客户端的 sessionId 标识符。 |
onLeave(client: SandboxPlayer, consented?: boolean) | 当客户端离开房间时调用。 参数 consented 为 true 时表示断开连接是由客户端请求的。 |
onTick(deltaTime: number) | 在服务器端的步骤间隔事件调用,间隔时间可以在 SandboxOptions 中设置。 (tickInterval : 100ms) |
- 当您在移动测试状态下按下 'Home button > Leave' 时,OnLeave() 事件发生。
- 在 Unity 编辑器中,OnLeave() 事件不会发生。
如果您对 ZEPETO.Multiplay 服务器 API 感兴趣,请参考文档:
📘 请参考以下指南。 [ZEPETO.Multiplay(服务器) API]
ZepetoWorldMultiplay 组件提供了一个接口,供客户端订阅来自 ZEPETO Multiplay 服务器的世界游戏会话(房间)事件。
可用事件列表:
房间事件监听器 | 描述 |
---|---|
房间创建(Room) | 当房间被创建并可访问时调用。提供一个房间参数。 |
房间加入(Room) | 当房间连接时调用。提供一个房间参数。 |
房间离开(RoomLeaveEvent) | 当从房间断开时调用。 提供一个房间离开事件参数。 |
房间重新连接(Room) | 当相应的房间重新连接时调用。提供一个房间参数。 |
房间错误(RoomErrorEvent) | 当相应的房间发生错误时调用。 提供一个房间错误事件参数。 |
房间弱连接 | 当连接不稳定时调用。 |