Version: 2017.2
Network Manager コールバック
ネットワークメッセージ

NetworkBehaviour コールバック

Network Manager を使用するとき、クライアントがサーバーに接続するとデフォルトでプレイヤーが加えられます。プレイヤーは指定したオブジェクトによって表現されます (詳しくは プレイヤーオブジェクト を参照してください)。プレイヤーオブジェクトは Server (サーバー) と Client (クライアント) インスタンス両方に存在します。

ゲームの接続状態によって異なるコールバックが発信されます。それらは、Network Manager HUD で設定します。

3 つの接続状態があります。

  • Host: ゲームを Host モードに設定するには、LAN Host(H) を選択します。

  • Client: ゲームを Client モードに設定するには、LAN Client(C) を選択しサーバー IP をテキストフィールドに入力するか、API 関数 StartClient() を使用します。サーバー IP は同じローカルネットワーク上になければなりません。同じマシンに接続している場合は、“localhost” と入力します。

  • Server: ゲームを Server モードに設定するには、LAN Server Only(S) を選択します。

ランタイムの間、Network Manager HUD の制御も、Network Manager HUD コンポーネントのインスペクターウィンドウで可能です。これにアクセスするには Runtime Controls をクリックしてください。

このセクションのコールバックは NetworkBehaviour クラスで決められ、プレイヤーオブジェクト上でのみ呼び出されます。ゲーム状態の設定に関して、詳しくは NetworkManager を使用する を参照してください。

コールバックのなかには、ゲームの実行に複数のインスタンスを必要とするものもあります (例えば、2 つのスタンドアロンインスタンス、1 つのスタンドアロンと 1 つのエディター内インスタンス)。これらのインスタンスはマシンがローカルネットワークを通して接続している限り、同じマシン上、や別のマシンに置くことができます。これは、 MatchMaker でも同じように作動しますが、MatchMaker ではマシンもインターネット接続されている必要があります。

関連項目

サーバー上のプレイヤーコールバック

これらのコールバックを取得するために、2 つのゲームインスタンスが必要です。1 つは Server モードで実行するもの、もう 1 つは Client モードで実行するものです。これらのコールバックは Server インスタンス上のプレイヤーオブジェクトに対してのみ呼び出されます。

コールバックを得るには、最初に Server モードのインスタンスを起動し、それから Client インスタンスを開始します。

  • OnStartServer

  • OnRebuildObservers

  • (Start() 関数が呼び出されます。)

クライアント上のプレイヤーコールバック

これらのコールバックを取得するためには、2 つのゲームインスタンスが必要です。1 つは Server モードで実行するもの、もう 1 つは Client モードで実行するものです。これらのコールバックは Client インスタンス上のプレイヤーオブジェクトに対してのみ呼び出されます。

コールバックを得るには、最初に Server モードのインスタンスを起動し、それから Client インスタンスを開始します。

  • OnStartClient

  • OnStartLocalPlayer

  • OnStartAuthority

  • (Start() 関数が呼び出されます。)

ホスト上のプレイヤーコールバック

これらのコールバックを取得するために、エディターかスタンドアロンビルドとして Host モードで実行する 1 つのゲームインスタンスが必要です。これらのコールバックはプレイヤーオブジェクトに対してのみ呼び出されます。

  • OnStartServer

  • OnStartClient

  • OnRebuildObservers

  • OnStartAuthority

  • OnStartLocalPlayer

  • (Start() 関数が呼び出されます。)

  • OnSetLocalVisibility

NetworkBehaviour: OnNetworkDestroy

OnNetworkDestroy コールバックを得るためには、1 つは Server モードで実行し、2 つは Client モードで実行する 3 つのスタンドアロンのゲームインスタンスが必要です。

OnNetworkDestroy コールバックを得る手順は以下のとおりです。

  1. Server インスタンスを開始します。

  2. Client インスタンスを開始します。

  3. 2 番目の Client インスタンスを開始します。

  4. 両方の Client インスタンスが自動的に Server インスタンスに接続したら、一方の Client インスタンスを止めます。

  5. OnNetworkDestroy が残りの Client インスタンスで呼び出されますが、Server インスタンス上では呼び出されません。

Network Manager コールバック
ネットワークメッセージ