このコンポーネントは、ルームに参加したときにネットワークGameObjectをインスタンス化します。 More...
Inherits MonoBehaviour, IConnectionCallbacks, IMatchmakingCallbacks, and ILobbyCallbacks.
Public Member Functions | |
virtual void | OnEnable () |
virtual void | OnDisable () |
void | OnJoinedRoom () |
LoadBalancingClientがルームに入ったときに呼び出されます。このクライアントがルームを作成したか、単に参加したかは関係ありません。 More... | |
void | OnConnected () |
「低レベル接続」が確立されたことを通知するために呼び出されますが、クライアントはサーバーで操作を呼び出すことができます。 More... | |
void | OnCustomAuthenticationResponse (Dictionary< string, object > data) |
カスタム認証サービス More... | |
void | OnCustomAuthenticationFailed (string debugMessage) |
カスタム認証が失敗したときに呼び出されます。 その後切断します! More... | |
void | OnConnectedToMaster () |
クライアントがマスターサーバーに接続され、マッチメイキングやその他のタスクの準備ができたときに呼び出されます。 More... | |
void | OnDisconnected (DisconnectCause cause) |
Photonサーバーから切断した後に呼び出されます。失敗または明示的な切断呼び出しの可能性があります More... | |
void | OnRegionListReceived (RegionHandler regionHandler) |
ネームサーバーがタイトルのリージョンのリストを提供したときに呼び出されます。 More... | |
void | OnRoomListUpdate (List< RoomInfo > roomList) |
Master Serverのロビー(InLobby)にいる間、ルームリストの更新を要求されます。 More... | |
void | OnFriendListUpdate (List< FriendInfo > friendList) |
サーバーがFindFriends要求への応答を送信したときに呼び出されます。 More... | |
void | OnJoinedLobby () |
マスターサーバーのロビーに入るときに呼び出されます。 実際のルームリストの更新は、OnRoomListUpdateを呼び出します。 More... | |
void | OnLeftLobby () |
ロビーを出た後に呼び出されます。 More... | |
void | OnLobbyStatisticsUpdate (List< TypedLobbyInfo > lobbyStatistics) |
マスターサーバーがロビー統計の更新を送信したときに呼び出されます。 More... | |
void | OnCreatedRoom () |
このクライアントがルームを作成して入力したときに呼び出されます。OnJoinedRoom()も呼び出されます。 More... | |
void | OnCreateRoomFailed (short returnCode, string message) |
サーバーがルームを作成できなかったときに呼び出されます(OpCreateRoomが失敗しました)。 More... | |
void | OnJoinRoomFailed (short returnCode, string message) |
サーバーで以前のOpJoinRoom呼び出しが失敗したときに呼び出されます。 More... | |
void | OnJoinRandomFailed (short returnCode, string message) |
以前のOpJoinRandom呼び出しがサーバーで失敗したときに呼び出されます。 More... | |
void | OnLeftRoom () |
ローカルユーザー/クライアントがルームを出たときに呼び出され、ゲームのロジックが内部状態をクリーンアップできるようにします。 More... | |
Public Attributes | |
Transform | SpawnPosition |
float | PositionOffset = 2.0f |
GameObject[] | PrefabsToInstantiate |
このコンポーネントは、ルームに参加したときにネットワークGameObjectをインスタンス化します。
void OnConnected | ( | ) |
「低レベル接続」が確立されたことを通知するために呼び出されますが、クライアントはサーバーで操作を呼び出すことができます。
接続(低レベルのトランスポート)が確立された後、クライアントは自動的に認証操作を送信します。 クライアントは、他の操作を呼び出す前に応答を取得する必要があります。
ロジックは、OnRegionListReceivedまたはOnConnectedToMasterのいずれかを待機する必要があります。
このコールバックは、サーバーに到達できるかどうかを(技術的に)検出するのに役立ちます。 ほとんどの場合、OnDisconnected(DisconnectCause cause)を実装し、原因を確認するだけで十分です。
これは、マスターサーバーからゲームサーバーへの移行では呼び出されません。
Implements IConnectionCallbacks.
void OnConnectedToMaster | ( | ) |
クライアントがマスターサーバーに接続され、マッチメイキングやその他のタスクの準備ができたときに呼び出されます。
LoadBalancingClient.OpJoinLobbyを使用してロビーに参加しない限り、利用可能なルームのリストは利用できません。 ロビーにいなくても、ルームに参加して作成できます。その場合、デフォルトのロビーが使用されます。
Implements IConnectionCallbacks.
void OnCreatedRoom | ( | ) |
このクライアントがルームを作成して入力したときに呼び出されます。OnJoinedRoom()も呼び出されます。
このコールバックは、ルームを作成したクライアントでのみ呼び出されます(OpCreateRoomを参照)。
クライアントはいつでも閉じる(または接続を切断する)可能性があるため、 ルームの作成者がOnCreatedRoomを実行しない可能性があります。
特定のルームのプロパティまたは「開始信号」が必要な場合は、OnMasterClientSwitched()を実装し、 各新しいMasterClientがルームの状態を確認するようにします。
Implements IMatchmakingCallbacks.
void OnCreateRoomFailed | ( | short | returnCode, |
string | message | ||
) |
サーバーがルームを作成できなかったときに呼び出されます(OpCreateRoomが失敗しました)。
ルームの作成はさまざまな理由で失敗する場合があります。 ほとんどの場合、ルームはすでに存在している(使用中のルーム名)か、 RoomOptionsが競合しており、ルームを作成することは不可能です。
ゲームサーバーでルームの作成に失敗した場合: クライアントは失敗を内部的にキャッシュし、フェイルコールバックを呼び出す前にマスターサーバーに戻ります。 これにより、クライアントはコールバックの瞬間にルームを検索/作成する準備が整います。 この場合、クライアントはOnConnectedToMasterの呼び出しをスキップしますが、マスターサーバーに戻るとOnConnectedが呼び出されます。 OnConnectedのコールバックを、クライアントが接続できる純粋な情報として扱います。
returnCode | サーバーからの操作ReturnCode。 |
message | エラーのデバッグメッセージ。 |
Implements IMatchmakingCallbacks.
void OnCustomAuthenticationFailed | ( | string | debugMessage | ) |
カスタム認証が失敗したときに呼び出されます。 その後切断します!
カスタム認証は、ユーザー入力、不正なトークン/シークレットが原因で失敗する場合があります。 認証が成功した場合、このメソッドは呼び出されません。 OnJoinedLobby()またはOnConnectedToMaster()を実装します(通常どおり)。
ゲームの開発中に、サーバー側の設定が間違っているために失敗することもあります。 これらの場合、debugMessageのロギングは非常に重要です。
ダッシュボード)でアプリのカスタム認証サービスをセットアップしない限り、 これは呼び出されません!
debugMessage | 認証が失敗した理由のデバッグメッセージが含まれます。これは開発中に修正するべきです。 |
Implements IConnectionCallbacks.
void OnCustomAuthenticationResponse | ( | Dictionary< string, object > | data | ) |
カスタム認証サービス
カスタム認証サービスは、応答にカスタムデータを含めることができます。 存在する場合、そのデータはこのコールバックで辞書として利用可能になります。 データのキーは文字列である必要がありますが、値は文字列または数値(Jsonで)のいずれかです。 値の型が期待するものであることをさらに確認する必要があります。数値は(現在)int64になります。
例: void OnCustomAuthenticationResponse(Dictionary<string, object> data) { ... }
https://doc.photonengine.com/en-us/realtime/current/reference/custom-authentication
Implements IConnectionCallbacks.
void OnDisconnected | ( | DisconnectCause | cause | ) |
Photonサーバーから切断した後に呼び出されます。失敗または明示的な切断呼び出しの可能性があります
この切断の理由は、DisconnectCauseとして提供されます。
Implements IConnectionCallbacks.
void OnFriendListUpdate | ( | List< FriendInfo > | friendList | ) |
サーバーがFindFriends要求への応答を送信したときに呼び出されます。
OpFindFriendsを呼び出した後、マスターサーバーは友達リストをキャッシュし、友達リストに更新を送信します。 友達には、リクエストされた各ユーザー/友達の名前、ユーザーID、オンライン状態、およびルーム(ある場合)が含まれます。
UIが変更を強調表示する必要がある場合は、friendListを使用してUIを更新し、保存します。
Implements IMatchmakingCallbacks.
void OnJoinedLobby | ( | ) |
マスターサーバーのロビーに入るときに呼び出されます。 実際のルームリストの更新は、OnRoomListUpdateを呼び出します。
ロビーにいる間、ルームリストは一定の間隔で自動的に更新されます(パブリッククラウドでは変更できません)。 ルームリストは、OnRoomListUpdateを介して利用できます。
Implements ILobbyCallbacks.
void OnJoinedRoom | ( | ) |
LoadBalancingClientがルームに入ったときに呼び出されます。このクライアントがルームを作成したか、単に参加したかは関係ありません。
これが呼び出されると、Room.Playersの既存のプレイヤー、それらのカスタムプロパティ、およびRoom.CustomPropertiesにアクセスできます。
このコールバックでは、プレイヤーオブジェクトを作成できます。 たとえば、Unityで、プレイヤーのプレハブをインスタンス化します。
マッチを「アクティブに」開始する場合は、ユーザーが「準備完了」を通知できるようにします(OpRaiseEventまたはカスタムプロパティを使用)。
Implements IMatchmakingCallbacks.
void OnJoinRandomFailed | ( | short | returnCode, |
string | message | ||
) |
以前のOpJoinRandom呼び出しがサーバーで失敗したときに呼び出されます。
ルームが満室か存在しない場合がほとんどです(他のプレイヤーが先に入った場合や、ルームが閉じられたため)。
この操作は、マスターサーバーにのみ送信されます。マスターサーバーがルームを見つけると、 クライアントは指定されたゲームサーバーに向かい、ゲームサーバーで参加操作を使用します。
複数のロビーを使用する場合(OpJoinLobbyまたはTypedLobbyパラメーターを使用)、別のロビーにさらに多くの/適切なルームがある場合があります。
returnCode | サーバーからの操作ReturnCode。 |
message | エラーのデバッグメッセージ。 |
Implements IMatchmakingCallbacks.
void OnJoinRoomFailed | ( | short | returnCode, |
string | message | ||
) |
サーバーで以前のOpJoinRoom呼び出しが失敗したときに呼び出されます。
ルームへの参加はさまざまな理由で失敗する場合があります。ルームが満室か存在しない場合がほとんどです。 (他のプレイヤーが先に入った場合や、ルームが閉じられたため)
ゲームサーバーでルームへの参加に失敗した場合: クライアントは失敗を内部的にキャッシュし、フェイルコールバックを呼び出す前にマスターサーバーに戻ります。 これにより、クライアントはコールバックの瞬間にルームを検索/作成する準備が整います。 この場合、クライアントはOnConnectedToMasterの呼び出しをスキップしますが、マスターサーバーに戻るとOnConnectedが呼び出されます。 OnConnectedのコールバックを、クライアントが接続できる純粋な情報として扱います。
returnCode | サーバーからの操作ReturnCode。 |
message | エラーのデバッグメッセージ。 |
Implements IMatchmakingCallbacks.
void OnLeftLobby | ( | ) |
ロビーを出た後に呼び出されます。
ロビーを離れると、OpCreateRoom およびOpJoinRandomRoomは 自動的にデフォルトのロビーを参照します。
Implements ILobbyCallbacks.
void OnLeftRoom | ( | ) |
ローカルユーザー/クライアントがルームを出たときに呼び出され、ゲームのロジックが内部状態をクリーンアップできるようにします。
ルームを出ると、LoadBalancingClientはゲームサーバーを切断し、マスターサーバーに接続します。 これにより、複数の内部アクションがまとめられます。
ロビーを使用してルームに参加または作成する前に、コールバックOnConnectedToMasterを待ちます。
Implements IMatchmakingCallbacks.
void OnLobbyStatisticsUpdate | ( | List< TypedLobbyInfo > | lobbyStatistics | ) |
マスターサーバーがロビー統計の更新を送信したときに呼び出されます。
このコールバックには2つの前提条件があります: このクライアントが接続する前に、EnableLobbyStatisticsをtrueに設定する必要があります。 また、クライアントはマスターサーバーに接続する必要があり、マスターサーバーはロビーに関する情報を提供します。
Implements ILobbyCallbacks.
void OnRegionListReceived | ( | RegionHandler | regionHandler | ) |
ネームサーバーがタイトルのリージョンのリストを提供したときに呼び出されます。
指定された値を利用するには、RegionHandlerクラスの説明を確認してください。
regionHandler | 現在使用されているRegionHandler。 |
Implements IConnectionCallbacks.
void OnRoomListUpdate | ( | List< RoomInfo > | roomList | ) |
Master Serverのロビー(InLobby)にいる間、ルームリストの更新を要求されます。
各アイテムは、カスタムプロパティを含むかもしれないRoomInfoです(ルームの作成時にそれらをロビーリストとして定義した場合)。 すべてのタイプのロビーがクライアントにルームのリストを提供するわけではありません。静かでサーバーサイドのマッチメイキングに特化したものもあります。
Implements ILobbyCallbacks.