イベントの順序¶
ネットワーク処理によっては、1回の呼び出しで複数のイベントが発生するものがあり、それらのイベントが発生する具体的な順番が重要になることもあります。次の表に、イベントの順序を要約します。ここに、自分とは操作を行ったクライアントを、他人とはこのルームに参加している他のクライアントを、それぞれ指します。
注釈
自分と他人は異なるクライアントを表していますが、ネットワークには遅延があるため、順番はそれらの列をそれぞれ調べる必要があります。
処理 |
自分 |
他人 |
イベント |
---|---|---|---|
ルームプロパティを設定 |
1. RoomSetNotified |
||
2. RoomSet |
|||
ルームを削除 |
1. RoomDeleteNotified |
||
2. RoomDeleted |
|||
3. DeleteRoomメソッドのコールバック |
|||
ルームに参加 |
1. RoomJoinNotified |
||
2. RoomJoined |
|||
3. JoinRoomメソッドのコールバック |
|||
ルームを退出 |
1. RoomLeaveNotified |
||
2. RoomLeft |
|||
3. MatchRoomKickNotified(キックされた場合) |
|||
4. LeaveRoomメソッドのコールバック |
|||
5. KickMemberメソッドのコールバック |
|||
ルームを作成 |
1. RoomCreated |
||
2. CreateRoomメソッドのコールバック |
|||
ルームメンバーのプロパティを設定 |
1. RoomSetMemberNotified |
||
2. SetRoomMemberメソッドのコールバック |
ここに示した全てのイベントは、StrixNetwork.instance.roomSession.roomClient
からアクセスできます(ただし「コールバック」と書いてあるものは除きます)。
例えば、次のように使用します。
StrixNetwork.instance.roomSession.roomClient.RoomSet += roomSetArgs => {
// ...
}