通知イベントの概要

Strix Unity SDKには、サブスクライブできる複数のイベントがあります。これらのイベントの一部(全てではありませんが)には、イベントに関する詳細やエラーコードなどの有用な情報が含まれています。

複数のイベントの相互作用について、イベントの順序も参照してください。

ルームイベント

(全てStrixNetwork.instance.roomSession.roomClientにあります。)

  • 現在のクライアントによるネットワークアクションへの応答

    RoomCreated

    ルームの作成時に発生します。

    RoomJoined

    ルームへの参加時に発生します。

    RoomLeft

    ルームの退出時に発生します。

  • 現在のクライアントか他のクライアントによるネットワークアクションへの応答

    RoomSet

    現在のクライアントまたは他のクライアントによるルームプロパティの変更時に発生します。

    RoomDeleted

    現在のクライアントまたは他のクライアントによるルームの削除時に発生します。

  • 他のクライアントかサーバーが実行したアクションに起因するイベント

    RoomJoinNotified

    新しいルームメンバーがルームに参加すると発生します。

    RoomLeaveNotified

    ルームの一部のルームメンバーが退出したときに発生します。

    RoomDeleteNotified

    ルームが削除されたときに発生します。

    RoomSetNotified

    ルームオーナーがルームのプロパティを変更すると発生します。

    RoomSetMemberNotified

    ルームのメンバーがプロパティを変更すると発生します。

    RoomDirectRelayNotified

    ダイレクトリレーメッセージを受信したときに発生します。

    RoomRelayNotified

    ブロードキャストリレーメッセージを受信すると発生します。

    MatchRoomKickNotified

    ルームのメンバーがルームからキックされたときに発生します。

    RoomOwnerChanged

    ルームのオーナーが移譲されたときに発生します。

    注釈

    RoomJoinNotifiedイベントのハンドラーはDataという名前のメンバーを持つ引数を受け取り、そのGetNewlyJoinedMemberメソッドが参加したメンバーの情報を保持したオブジェクトを提供します。この情報オブジェクトの型はSoftGear.Strix.Client.Room.Model.IRoomMemberインターフェイスとして定義されていますが、この型には少しのプロパティしかありません。

    しかしStrix Cloudを使用する場合には、このオブジェクトはIRoomMemberを実装するSoftGear.Strix.Client.Match.Room.Model.MatchRoomMemberクラスのインスタンスであることが保証されています。そこで、このオブジェクトをMatchRoomMemberにキャストして、メンバーに関する追加の情報を取得することができます。

    StrixNetwork.instance.roomSession.roomClient.RoomJoinNotified =
        e => Debug.Log(((MatchRoomMember)e.Data.GetNewlyJoinedMember()).GetName());
    

    同様のことが、Notifiedという名前を持ち(間接的に)IRoomMemberを提供するような他のルームイベント(例えばRoomLeaveNotified)にも該当します。

レプリカイベント

(全てStrixNetwork.instance.roomSession.replicaClientにあります。)

ReplicaCreateNotified

新しいレプリカが作成されたときに発生します。

ReplicaSetNotified

誰かが一部のレプリカのプロパティを変更したときに発生します。

ReplicaDeleteNotified

誰かがレプリカを削除すると発生します。

ReplicaChangeOwnerNotified

レプリカが新しいオーナーを取得すると発生します。

セッションイベント

StrixNetwork.instance.roomSessionStrixNetwork.instance.masterSessionの両方にあります。)

Connected

新しい接続が確立されるたびに呼び出されます。

ConnectFailed

新しい接続を試みて失敗したときに呼び出されます。

Closed

既存の接続が終了したときに呼び出されます。

ErrorThrown

エラーが発生したときに呼び出されます。

通常、これは、基礎となる.NETライブラリのSocketExceptionまたはホストアドレスを解決できなかった場合に発生します。

注釈

roomSessionのセッションイベントはルームサーバー接続に関するもので、masterSessionのセッションイベントはマスターサーバー接続に関するものです。