このページは編集中です。更新が保留になっている可能性があります。

ネットワークコールバック

はじめに

Fusionには様々なコールバックが用意されており、シミュレーションの特定の部分にアクセスしたり、重要なイベントを受け取ったりするのに便利です。

トップに戻る

INetworkRunnerCallbacks

NetworkRunner は、INetworkRunnerCallbacks インターフェースを実装し、 NetworkRunner.AddCallbacks() を呼び出してスクリプトをランナーに登録することによって、 アプリケーションがネットワーク関連の重要なイベントにフックすることを可能にします。

_ 注意:_ NetworkRunner は同じGameObject * と* 同じ階層レベルにある INetworkRunnerCallback を持つ全てのコンポーネントを自動登録します。他のすべての INetworkRunnerCallbacks のインスタンスは NetworkRunner.AddCallbacks() を使用する必要があります。

Method Return Additional Info
OnPlayerJoined NetworkRunner runner: ローカルプレイヤー NetworkRunner の参照。
PlayerRef player: 参加したプレーヤーの PlayerRef。
新しいプレーヤーが参加したときの NetworkRunner からのコールバック。通常、新しいプレーヤーのアバターを生成するために使用されます。
OnPlayerLeft NetworkRunner runner: ローカルプレーヤー NetworkRunner の参照。
PlayerRef Player:退場するプレイヤーのPlayerRef。
プレイヤーが切断されたときにNetworkRunnerからコールバックされます。通常、プレイヤーのアバターをデスポーンするために使用されます。
OnInput NetworkRunner runner: ローカルプレーヤー NetworkRunner の参照。
NetworkInput input: ポーリングされた入力を送信するために使用される NetworkInput 構造体。
NetworkRunner からのコールバックで、ユーザ入力をポーリングします。提供される NetworkInput は次のように期待されます: input.Set(new CustomINetworkInput() { /* your values *‍/ });
OnInputMissing NetworkRunner runner: ローカルプレーヤー NetworkRunner の参照。
NetworkInput input: ポーリングされた入力を送信するために使用される NetworkInput 構造体。
特定のティックで特定のプレイヤーから入力を得られない場合に、ホストで呼び出されるコールバックです。提供されたNetworkInputを使用して、代わりの入力を生成することができます。
OnShutdown NetworkRunner runner: ローカルプレーヤー NetworkRunner の参照。
ShutdownReason shutdownReason: シャットダウンの理由を enum 形式で指定します。
ローカルランナーがシャットダウンするときに呼び出されます。
OnConnectedToServer NetworkRunner runner: ローカルプレーヤー NetworkRunner の参照。 NetworkRunner がサーバーまたはホストへの接続に成功したときのコールバック。
OnDisconnectedFromServer NetworkRunner runner: ローカルプレーヤー NetworkRunner の参照。 NetworkRunner がサーバーまたはホストから切断したときのコールバック。
OnConnectRequest NetworkRunner runner: ローカルプレーヤー NetworkRunner の参照。
NetworkRunnerCallbackArgs.ConnectRequest request: リモートクライアントからのConnection Requestのデータホルダー。
byte[] token: クライアントが提供するカスタムコネクショントークン。
NetworkRunnerがリモートクライアントから接続要求を受信したときのコールバック。
OnConnectFailed NetworkRunner runner: ローカルプレーヤー NetworkRunner の参照。
NetAddress remoteAddress: IPとPortを含むNetwork Addressを表す。IPv4またはIPv6アドレスを含むことができる。
NetConnectFailedReason reason: 接続に失敗した理由を enum 形式で指定します。
NetworkRunner がサーバーまたはホストへの接続に失敗したときのコールバック。
OnUserSimulationMessage NetworkRunner runner: ローカルプレーヤー NetworkRunner の参照。
SimulationMessagePtr message: 受信したシミュレーションメッセージへのポインタ
このコールバックは、手動でディスパッチしたシミュレーションメッセージをリモートピアから受信したときに呼び出されます。
OnSessionListUpdated NetworkRunner runner: ローカルプレーヤー NetworkRunner の参照。
List< SessionInfo > sessionList: 受信したSessionInfoのリスト。
このコールバックは、Photon Cloudから新しいList of Sessionsを受信したときに呼び出されます。
OnCustomAuthenticationResponse NetworkRunner runner: ローカルプレーヤーNetworkRunnerの参照。
Dictionary< string, object > data: カスタム認証応答値。
AuthenticationプロシージャがAuthentication Serverから応答を返すと、コールバックが呼び出されます。
OnHostMigration NetworkRunner runner: ローカルプレーヤーNetworkRunnerの参照。
HostMigrationToken hostMigrationToken: ホストマイグレーション完了後、Fusion Runnerを再起動するために必要な情報が入ったTransitory Holder。
ホストマイグレーションプロセスが開始されたときにコールバックが呼び出されます。
OnReliableDataReceived NetworkRunner runner: ローカルプレーヤー NetworkRunner の参照。
PlayerRef player: データを送信したプレイヤー。
ArraySegment< byte > data: The data received.
信頼できるデータを受信したときに呼び出される。これは、例えばテクスチャのような、より堅牢なデータの転送に使用することができます。注意深く使用する必要があります。
OnSceneLoadDone NetworkRunner runner: ローカルプレーヤー NetworkRunner の参照。 NetworkSceneManagerBase によって、シーンの読み込み処理が終了したときに呼び出される。StartGameArgs.SceneManager に提供するためにカスタムのものを実装する場合、このコールバックを手動で呼び出す必要があります。
OnSceneLoadStart NetworkRunner runner: ローカルプレーヤー NetworkRunner の参照。 NetworkSceneManagerBase によって、シーンの読み込み処理が開始されたときに呼び出されます。StartGameArgs.SceneManager に提供するためにカスタムのものを実装する場合は、このコールバックを手動で呼び出す必要があります。

トップに戻る

実行順序のコールバック

シミュレーションの各パートに固有のコールバックが多数あり、それらはすべて [Execution Order Page] (~~/manual/execution-order) で紹介されています。ここではその中からいくつかピックアップして紹介します。

IBeforeAllTicks/IAfterAllTicks

これらのインターフェースは BeforeAllTicks(bool resimulation, int tickCount)AfterAllTicks(bool resimulation, int tickCount) にアクセスするために使用されます。これらは、再シミュレーションループの前(該当する場合)と、フォワードシミュレーションループの前にも呼び出されます。再シミュレーションや順方向のティックが処理されるアップデートでのみ呼び出されます。

resimulation booleanは再シミュレーションの前に実行されるとtrueになり、forward ticksの前に呼び出されるとfalseになります。 tickCount は処理されるティックの数を指定します。

トップに戻る

IBeforeTick/IAfterTick

上記と同様ですが、各ティックごとに実行されます。

ドキュメントのトップへ戻る