ルームイベント¶
Strixでは、ルームサーバーはオブジェクトの同期やルームの操作を処理します。しかし、プレイヤーの接続やルームの状態に適用されるイベントもあります。スコアボードやマップ情報などの更新を行うために、これらのイベントの通知を受け取ると便利なことがあります。
ルームの作成、ルームの削除、ルームのメンバー情報の変更など、今までに説明した処理の多くについて、サーバーから通知が送信されます。
ルームイベントはroomClient
プロパティにあります。
// 例
StrixNetwork.instance.roomSession.roomClient.RoomDeleted += this.RoomDeleted;
StrixNetwork.instance.roomSession.roomClient.RoomRelayNotified += this.RoomRelayNotified;
次のイベントは、クライアントがルームサーバーから通知を受け取ったときに発生します。これは、他のクライアントがアクションを行ったときに起きます。
注釈
なお、イベントが起きてから通知を受信するまでの間には遅延があります。
イベント |
説明 |
受信するルームメンバー |
---|---|---|
RoomJoinNotified |
誰かがルームに参加するたびに呼び出されます。 |
全員 |
RoomLeaveNotified |
誰かがルームを出るときに呼び出されます。 |
全員 |
RoomDeleteNotified |
ルームが削除されるたびに呼び出されます。 |
全員 |
RoomSetNotified |
ルームオーナーがSetRoomを使用してルームのプロパティを変更するたびに呼び出されます。 |
全員 |
RoomSetMemberNotified |
ルームメンバーのいずれかがSetRoomMemberを使用してプロパティを変更するたびに呼び出されます。 |
全員 |
RoomDirectRelayNotified |
クライアントが直接リレーメッセージを受信するたびに呼び出されます。 |
リレーメッセージターゲットのみ |
RoomRelayNotified |
誰かがルームにリレーメッセージを送信するたびに呼び出されます。 |
全員 |
MatchRoomKickNotified |
誰かがルームからキックされるたびに呼び出されます。 |
全員 |
RoomOwnerChanged |
ルームのオーナーが他のメンバーに移譲されるたびに呼び出されます。
これは、サーバーで「ルームオーナー移譲」オプションが有効になっているときにのみ発生します。
|
全員 |
次のイベントは、あなたが該当する処理を行い、サーバー上で処理が成功し、その応答を受け取ったときに発生します。このうちの一部は、他のプレイヤーが行った処理が成功したときにも発生します。
イベント |
説明 |
---|---|
RoomCreated |
あなたが |
RoomSet |
あなたか他のプレイヤーが |
RoomDeleted |
あなたか他のプレイヤーが |
RoomJoined |
あなたが |
RoomLeft |
あなたが |
注釈
このページで説明しているイベントはC#のイベントです。つまり、+=
演算子(またはadd
アクセッサー)を使ってサブスクライブし、-=
演算子(またはdelete
アクセッサー)を使ってサブスクライブを終了できます。これらはSoftGear.Strix.Client.Match.CustomizableMatchRoomClient
クラスの基底クラスのいずれかで定義されていますが、通常は上記のコード例のようにStrixNetwork.instance.roomSession.roomClient
から使用します。