マルチプレイルーム
👍 ルーム接続プロセス
- クライアントから接続をリクエストする
- 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) |
- 「OnLeave()」イベントは、モバイルテスト状態中に左上の「ホームボタン > 離脱」を押すと発生します。
- 「OnLeave()」イベントは、Unityエディタでは発生しません。
ZEPETO.MultiplayサーバーAPIに興味がある場合は、ドキュメントを参照してください:
📘 次のガイドを参照してください。 [ZEPETO.Multiplay(サーバー)API]
ZepetoWorldMultiplayコンポーネントは、クライアントがZEPETO Multiplayサーバーからのワールドプレイセッション(ルーム)イベントにサブスクライブするためのインターフェースを提供します。
利用可能なイベントのリスト:
ルームイベントリスナー | 説明 |
---|---|
RoomCreated(Room) | ルームが作成され、アクセス可能になったときに呼び出されます。ルームパラメータを提供します。 |
RoomJoined(Room) | ルームに接続されたときに呼び出されます。ルームパラメータを提供します。 |
RoomLeave(RoomLeaveEvent) | ルームから切断するときに呼び出されます。 RoomLeaveEventパラメータを提供します。 |
RoomReconnected(Room) | 対応するルームが再接続されたときに呼び出されます。ルームパラメータを提供します。 |
RoomError(RoomErrorEvent) | 対応するルームでエラーが発生したときに呼び出されます。 RoomErrorEventパラメータを提供します。 |
RoomWeakConnection | 接続が不安定なときに呼び出されます。 |