ルームイベント

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

あなたがCreateRoomを使用してルームを作成したときに呼び出されます。

RoomSet

あなたか他のプレイヤーがSetRoomを使用してルームのプロパティを変更したときに呼び出されます。

RoomDeleted

あなたか他のプレイヤーがDeleteRoomを使用してルームを削除したときに呼び出されます。

RoomJoined

あなたがJoinRoomを使用してルームに参加したときに呼び出されます。

RoomLeft

あなたがLeaveRoomを使用してルームを退出したときに呼び出されます。(LeaveRoomは、CreateRoomの内部から呼ばれることもあります。)

注釈

このページで説明しているイベントはC#のイベントです。つまり、+=演算子(またはaddアクセッサー)を使ってサブスクライブし、-=演算子(またはdeleteアクセッサー)を使ってサブスクライブを終了できます。これらはSoftGear.Strix.Client.Match.CustomizableMatchRoomClientクラスの基底クラスのいずれかで定義されていますが、通常は上記のコード例のようにStrixNetwork.instance.roomSession.roomClientから使用します。

イベント順序

イベントが呼び出される順序については、イベントの順序を参照してください。