GameSession オブジェクトは、ネットワーク ゲームのセッションに参加しているピア間のゲーム オブジェクトの複製と同期を行う役目を持ちます。
Network.create_game_session() を呼び出して、新しいゲーム セッションを取得します。
GameSession にとって、ゲーム オブジェクトは ID で識別されるフィールド(キーと値)のテーブルに過ぎません。ゲーム オブジェクトを作成すると、そのオブジェクトの所有者となり、オブジェクトの操作に使用できる ID を再度取得します。所有者として、オブジェクト フィールドの値を変更することができます。行った変更は他のすべてのピアに複製されます。オブジェクトを削除すると、それも複製されます。
ゲーム オブジェクトはさまざまなタイプを持つことができます。各タイプには、.network_config データ ファイルで定義した、キーと値の独自のセットがあります。
通常、ゲーム オブジェクトは、ゲーム ワールド内の何か(ユニット、物理ボディなど)を表しますが、GameSession レイヤはそれらを考慮しません。ネットワーク ゲーム オブジェクトと実世界のエンティティとの間でデータを移動するのは、ユーザの責任になります。GameSession は、ゲーム オブジェクトのフィールドの状態の変更について、他のピアに通知することのみに責任を負います。
ゲーム オブジェクトの所有権は、セッション内のピア間で移動することができます。これは、ネットワークのロード バランシングを設定するため、またはプレイ エクスペリエンスの忠実性を高めるために使用できます(オブジェクトの所有者は、オブジェクトとやり取りする際の遅延や同期の問題を心配する必要はありません)。
リモート ノードによってゲーム オブジェクトが作成、破壊、または移行されると、Network.update() に渡したコールバック オブジェクトへのコールバックによって通知されます。詳細については、「Network.update()」を参照してください。
開発ビルドでは、Network.create_replay_session() 関数を呼び出して、その関数を前のゲーム セッション中に作成されたネットワーク ログ ファイルに渡すことで、ネットワーク ゲーム セッションを再生することができます。再生セッションでは、GameSession オブジェクト関数は、元のゲーム セッションで機能したのとまったく同じように機能する(つまり、ログ ファイル内に保存されているすべてのネットワーク イベントに、接続されたクライアントによって実行されているのと同じように応答する)ため、同じ関数を呼び出して、ゲーム セッションを制御することができます。ただし、ネットワーク イベントはすべて記録されるため、リモート ピアによって実行されたアクションのまったく同じシーケンスでテストおよび再テストすることができます。これは、ネットワーク接続されたゲームの問題の診断に役立てることができます。
通常のゲーム セッションと再生セッションの主な違いは、通常のゲーム セッションでは、ネットワーク コールバック オブジェクトはユーザ自身の変更について通知されませんが、再生セッションでは、ネットワーク コールバック オブジェクトは、どのピアがアクションを開始したかに関わらず、すべてのゲーム オブジェクトの変更のコールバック通知を受け取ります。
さらに、ユーザは自身を観察するだけで転送していないため、ピアの同期状態は再生セッションには存在しません。
この機能は実験的なものであることに注意してください。
再生セッションを作成するには:
network = { log = "%APPDATA%\\Company\\Project\\network_dumps\\network-%DATE%-%TIME%-%RANDOM%.ndp" }
通常のネットワーク ゲーム セッションを介してプレイすることでログを作成します。
セッションを閉じたら、Network.create_replay_session(log_filename) を呼び出して、ネットワーク ログ ファイルに記録されたイベントに基づいて再生セッションを作成します。
通常通り、フレームごとに Network.update() を呼び出して、再生セッションを介してプレイします。
完了したら、Network.shutdown_game_session() の代わりに Network.shutdown_replay_session() を呼び出して、再生セッションを閉じます。
コンストラクタとアクセサ
![]() | stingray.Network.create_game_session() stingray.Network.create_replay_session() stingray.Network.game_session() |
その他の関連リファレンス項目
![]() | stingray.Network |
![]() | stingray.Network.create_replay_session() stingray.Network.shutdown_game_session() |
![]() | Networking |
ゲーム セッション ホストによって呼び出すことができる関数です。
![]() |
add_peer ( self, peer_id )![]() 指定したピア ID を持つピアをセッションに追加します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
peer_id : | string | セッションに追加するピアの ID です。 |
この関数は値を返しません。 |
ピアを追加できるのは、セッション ホストだけです。
その他の関連リファレンス項目
![]() |
make_game_session_host ( self )![]() このゲーム インスタンスをゲーム セッションのセッション ホストにします。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 |
この関数は値を返しません。 |
作成されたばかりのセッションでは、これを呼び出すことだけはできますが、他のピアは含まれていません。セッションのホストだけが、ピアをセッションに追加またはセッションから除去することができます。
この関数を呼び出すと、自動的にセッションにも参加します。
![]() |
remove_peer ( self, peer_id, callback_object )![]() 指定した ID を持つピアをセッションから除去します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
peer_id : | string | セッションから除去するピアの ID です。 |
callback_object : | table | 除去されるピア(ピアが除去される時に破壊される)によって所有されている各ゲーム オブジェクトのコールバック関数を通じて通知されるオブジェクトです。 |
この関数は値を返しません。 |
ピアを除去できるのは、セッション ホストだけです。
ピアを除去すると、そのピアによって所有されているゲーム オブジェクトが破壊される場合があります。破壊される各ゲーム オブジェクトに対し、この関数に渡すコールバック オブジェクト上で、次の関数が呼び出されます。
id によって識別されるゲーム オブジェクトは、ピア destroyer_id によって破壊されたことを通知します。
これは、Network.update() によって呼び出すことができる game_object_destroyed() コールバック関数と同じなので、GameSession.remove_peer() を呼び出すときに Network.update() に渡すのと同じコールバック オブジェクトを使用できる場合があります。
![]() |
shutdown_game_session_host ( self )![]() セッションをシャットダウンしてピアに通知するため、ゲーム セッション ホストによって呼び出されます。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 |
この関数は値を返しません。 |
ホストへの変更に関係する関数です。
![]() |
disconnect_from_host ( self )![]() 通信エラーが発生した場合に、このピアをセッション ホストから接続解除します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 |
この関数は値を返しません。 |
ピアがセッションから脱退することをホストに通知しようとする leave() とは異なり、この呼び出しはホストに通知せずにセッションから脱退します。これはホスト エラーがある場合に呼び出されることを意図しているため、ユーザが脱退することをホストに通知する意味はありません。
leave() と同じく、disconnect_from_host() の呼び出しは、接続解除の要求です。切断はすぐに行われず、次のネットワークの更新時に行われます。
その他の関連リファレンス項目
![]() |
host_error ( self ) : boolean![]() ゲーム セッション ホストとの通信でエラーが発生しているかどうかを示します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 |
boolean |
セッション ホストとの通信でエラーが発生した場合は true を返し、それ以外の場合は false を返します。 |
disconnect_from_host() を呼び出してゲーム セッションをシャットダウンするか、いずれかのピアで migrate_game_session_host() を呼び出してそのピアにホストとしての役割をさせて、エラーを処理する必要があります。
その他の関連リファレンス項目
![]() |
migrate_game_session_host ( self )![]() この関数を呼び出しているピアに、指定したゲーム セッションのホストの役割を引き継がせます。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 |
この関数は値を返しません。 |
これを呼び出すことができるのは、現在のホストと通信が切断されている場合(つまり、host_error() が true を返す場合)のみです。
セッションは複数のホストを持つことができないため、複数のピアがあるセッションでは、いずれか 1 つのピアが migrate_game_session_host() を呼び出す必要があります。これを解決するために推奨される方法は、すべてのピアに自身のピア ID (Network.peer_id() からアクセス可能)をセッション内のすべてのピアのリスト(GameSession.peers() からアクセス可能)と比較させることです。そして、最小のピア ID を持つピアが migrate_game_session_host() を呼び出して、ホストの役割を引き受ける必要があります。
その他の関連リファレンス項目
ゲーム オブジェクトの作成および管理に関連する関数です。
![]() |
create_game_object ( self, type, fields ) : integer![]() 指定したタイプの新しいゲーム オブジェクトを作成します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
type : | string | .network_config データ ファイルで設定した、作成するゲーム オブジェクトのタイプです。 |
fields : | table | 新しいオブジェクトのデータ フィールドの初期値を含むテーブルです。 |
integer |
新しく作成されたゲーム オブジェクトの一意の ID です。 |
fields テーブルは、ゲーム オブジェクトによって保持されるデータ フィールドの初期値を提供します。このテーブルに設定できるメンバは、.network_config データ ファイルでこのタイプのゲーム オブジェクトに設定したフィールドによって決まります。たとえば、次のようになります。
myGameObject = stingray.GameSession.create_game_object(mySession, "enemy", { position = Vector3(0,0,0), hitpoints = 50 } )
![]() |
destroy_game_object ( self, object_id )![]() 指定したゲーム オブジェクトを破壊します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
object_id : | integer | 破壊するゲーム オブジェクトの ID です。 |
この関数は値を返しません。 |
この関数は、ゲーム オブジェクトを所有しているピアのみが呼び出すことができます。
![]() |
game_object_exists ( self, object_id ) : boolean![]() 指定した ID を持つゲーム オブジェクトが存在しているかどうかを示します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
object_id : | integer | テストするゲーム オブジェクトの ID です。 |
boolean |
指定された ID を持つオブジェクトがセッションに存在する場合は true を返し、それ以外の場合は false を返します。 |
![]() |
game_object_field ( self, object_id, field ) : any![]() 指定したデータ フィールド内の指定したゲーム オブジェクトによって保持されているデータを返します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
object_id : | integer | 値が取得されるゲーム オブジェクトの ID です。 |
field : | string | 取得する値を持つフィールドの名前です。 |
any |
ゲーム オブジェクトの指定したフィールドに現在保存されている値です。この値のタイプは、.network_config データ ファイルのフィールドに設定されているデータ タイプによって異なります。 |
![]() |
game_object_is_type ( self, object_id, object_type ) : boolean![]() 指定したゲーム オブジェクトが指定したゲーム オブジェクト タイプのインスタンスかどうかを示します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
object_id : | integer | テストするゲーム オブジェクトの ID です。 |
object_type : | string | .network_config データ ファイルで設定した、ゲーム オブジェクトのタイプです。 |
boolean |
ゲーム オブジェクトが指定したタイプのインスタンスの場合は true を返し、それ以外の場合は false を返します。 |
タイプはハッシュ値を使用して内部的に保存されているため、比較は、オブジェクトのタイプへの直接アクセスを提供するのではなく、内部的に行われます。
![]() |
game_object_owned ( self, object_id ) : boolean![]() この関数を呼び出しているピアが指定したゲーム オブジェクトの所有者かどうかを示します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
object_id : | integer | テストするゲーム オブジェクトの ID です。 |
boolean |
このピアがゲーム オブジェクトの所有者である場合は true を返し、それ以外の場合は false を返します。 |
![]() |
game_object_owner ( self, object_id ) : string![]() 指定したゲーム オブジェクトを所有しているピアを取得します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
object_id : | integer | テストするゲーム オブジェクトの ID です。 |
string |
ゲーム オブジェクトを所有しているピアのピア ID です。 |
![]() |
migrate_game_object ( self, object_id, new_peer_id, callback_object )![]() 指定したゲーム オブジェクトの所有権を指定したピアに変更します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
object_id : | integer | 新しい所有者に移行するゲーム オブジェクトの ID です。 |
new_peer_id : | string | 新しい所有者のピア ID です。 |
callback_object : | table | ゲーム オブジェクトの現在の所有者または新しい所有者である場合に、ゲーム オブジェクトが移行される際に、コールバック関数を通じて通知されるオブジェクトです。 |
この関数は値を返しません。 |
この関数を呼び出せるのは、ゲーム セッションのホストだけです。
ゲーム オブジェクトの現在の所有者または新しい所有者である場合は、次のコールバック関数のいずれかを呼び出すことで、この関数に渡すコールバック オブジェクトがすぐに通知を受け取ります。
ユーザが id によって識別されるゲーム オブジェクトの所有者になったことを通知します。 old_owner_id パラメータは、ゲーム オブジェクトを以前所有していたピアを識別します。
ユーザが id によって識別されるゲーム オブジェクトの所有者ではなくなったことを通知します。new_owner_id パラメータは、ゲーム オブジェクトを現在所有しているピアを識別します。
いずれの場合も、前の所有者と新しい所有者は、Network.update() の次の呼び出し時に移行を通知されます。
![]() |
objects_owned_by ( self, peer_id ) : integer[]![]() 指定したピアによって所有されているすべてのゲーム オブジェクトのリストを取得します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
peer_id : | string | ピアのピア ID です。 |
integer[] |
ピアによって所有されているすべてのゲーム オブジェクトの ID が含まれているテーブルです。 []表記は、この型が配列(メンバーのキーは連番、各要素の値は示されている型のインスタンス)であることを示します。 |
![]() |
set_game_object_field ( self, object_id, field, value )![]() 指定した値を指定したゲーム オブジェクトの指定したデータ フィールドに保存します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
object_id : | integer | 値が設定されるゲーム オブジェクトの ID です。 |
field : | string | 設定する値を持つフィールドの名前です。 |
value : | any | ゲーム オブジェクトの指定したフィールドに格納する値です。この値のタイプは、.network_config データ ファイルのフィールドに設定されているデータ タイプによって異なります。 |
この関数は値を返しません。 |
この関数は、ゲーム オブジェクトを所有しているピアのみが呼び出すことができます。
![]() |
set_game_object_priority ( self, object_id, peer_id, priority )![]() 指定したピアに指定したゲーム オブジェクトの優先順位を設定します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
object_id : | integer | 優先順位が設定されるゲーム オブジェクトの ID です。 |
peer_id : | string | ピアのピア ID です。 |
priority : | number | ゲーム オブジェクトに設定する新しい優先順位です。 |
この関数は値を返しません。 |
これには、ネットワーク システムにサービス品質(QoS)システムを有効化する必要があります。「Network.enable_qos()」 を参照してください。
![]() |
unit_synchronizer ( self ) : stingray.UnitSynchronizer![]() 指定したセッションのユニット シンクロナイザを取得します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 |
このセッションの UnitSynchronizer です(存在する場合)。 |
このオブジェクトを使用して、オブジェクトの作成、移動、除去の同期化を支援することができます。詳細については、「UnitSynchronizer」を参照してください。
セッション内の他のピアを検索する関数です。
![]() |
other_peers ( self ) : string[]![]() セッションに接続されているすべてのピアの ID のリストを取得します。この関数を呼び出しているピアは含まれません。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 |
string[] |
セッション内の他のすべてのピアの ID が含まれているテーブルです。 []表記は、この型が配列(メンバーのキーは連番、各要素の値は示されている型のインスタンス)であることを示します。 |
![]() |
peers ( self ) : string[]![]() セッションに接続されているすべてのピアの ID のリストを取得します。この関数を呼び出しているピアも含まれます。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 |
string[] |
セッション内のすべてのピアの ID が含まれているテーブルです。 []表記は、この型が配列(メンバーのキーは連番、各要素の値は示されている型のインスタンス)であることを示します。 |
その他の関連リファレンス項目
![]() |
synchronized_peers ( self ) : string[]![]() ゲーム オブジェクトの初期同期が完了しているすべてのピアのリストを取得します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 |
string[] |
同期化されたすべてのピアの ID が含まれているテーブルです。 []表記は、この型が配列(メンバーのキーは連番、各要素の値は示されている型のインスタンス)であることを示します。 |
![]() |
synchronizing_peers ( self ) : string[]![]() 最初のゲーム オブジェクトをまだ初期化しているすべてのピアのリストを取得します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 |
string[] |
ゲーム オブジェクトの同期の初期プロセスにあるピアの ID が含まれているテーブルです。 []表記は、この型が配列(メンバーのキーは連番、各要素の値は示されている型のインスタンス)であることを示します。 |
各ピアが初期同期を完了すると、他のすべてのピアは、Network.update() に渡されたコールバック オブジェクトを通じてコールバックを受け取ります。
再生セッションでは、同期が発生しないため、この関数は常に空のリストを返します。再生セッションに関する詳細については、GameSession の説明を参照してください。
ゲーム セッションに参加および脱退するための関数です。
![]() |
broken_connection ( self ) : string?![]() ゲーム セッション内の他のピアへの切断された接続を検出します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 |
string? |
切断された接続がある場合はそのピアの ID、それ以外は nil を返します。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
セッション ホストのみが呼び出すことができます。ピアへの接続が切断されると、この関数はそのピアの ID を返します。セッション ホストは、そのオブジェクトを破壊または移行した後で、セッションからピアを除去することで応答する必要があります。
すべての接続が正常な場合、この関数は nil を返します。
複数の切断された接続がある場合、これらすべてを検出するには、この関数を繰り返し呼び出す必要があります。
再生セッションでは、切断された接続の状態がネットワーク ログに記録されていないので、この関数は常に nil を返します。再生セッションに関する詳細については、GameSession の説明を参照してください。
![]() |
game_session_host ( self ) : string![]() 現在ゲーム セッションのホストとして機能しているピアの ID を取得します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 |
string |
セッション ホストのピア ID です。 |
![]() |
in_session ( self ) : boolean![]() このピアが指定したゲーム セッションに現在接続されているかどうかを示します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 |
boolean |
この関数を呼び出しているピアがセッションに接続されている場合は true を返し、それ以外の場合は false を返します。 |
この関数が false を返す場合、接続不良またはセッション ホストから除外されたことにより、セッションから除去されています。いずれの場合でも、セッションをシャットダウンする必要があります。
再生セッションでは、常にセッションがあるため、この関数は常に true を返します。再生セッションに関する詳細については、GameSession の説明を参照してください。
その他の関連リファレンス項目
![]() |
leave ( self )![]() セッション ホストにセッションを脱退することを知らせるためにピアによって呼び出されます。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 |
この関数は値を返しません。 |
これを呼び出してから、in_session() が false を返すのを待ってから、セッションをシャットダウンする必要があります。これにより、ユーザがセッションを脱退したことが、他のすべてのピアに確実に通知されます。
その他の関連リファレンス項目
![]() |
wants_to_leave ( self ) : string?![]() セッションを脱退することを要求したゲーム セッション内のピアを検出します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 |
string? |
セッションを脱退することを要求しているピアの ID または nil を返します。 ? 表記は、このタイプが省略可能であることを示しています。ゼロ個または 1 個のインスタンスが存在します。 |
セッション ホストのみが呼び出すことができます。セッション ホストは、そのオブジェクトを破壊または移行した後で、セッションからピアを除去することで応答する必要があります。
脱退を希望するピアがいない場合、この関数は nil を返します。
脱退を希望するピアが複数いる場合、これらすべてを検出するには、この関数を繰り返し呼び出す必要があります。
再生セッションでは、脱退要求はネットワーク ログに記録されていないので、この関数は常に nil を返します。再生セッションに関する詳細については、GameSession の説明を参照してください。
ゲーム オブジェクトの作成および管理に関連する関数です。
![]() |
set_interpolation_lag_compensation ( self, time )![]() ゲーム オブジェクトの更新が頻繁に行われない場合に、スムーズに見えるようにするため、補間の間隔をどのくらい広げるかを設定します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
time : | number | 補間の補正のスレッショルド(秒単位)です。 |
この関数は値を返しません。 |
値が大きいほど許容される更新の欠落は多くなりますが、ゲーム オブジェクトの所有者の観点に対する遅延は大きくなります。
既定値は 0.015 です。
![]() |
set_perfhud_pie_update_interval ( self, time )![]() ネットワーク パフォーマンス HUD でのパイのアップロードとダウンロードの更新間隔を指定します。
|
self : | この関数を機能させるオブジェクト インスタンスを指定します。 このオブジェクトのインスタンスでこの関数を呼び出すために、コロン : 呼び出し構文を使用できます。その場合、このパラメータは省略する必要があります。詳細については、この Stingray ヘルプ トピック、または Lua ドキュメントのこのページを参照してください。 | |
time : | number | 新しい更新間隔(秒単位)です。 |
この関数は値を返しません。 |
短い間隔は、スパイクを検出しますが、すばやく変化します。
既定値は 1 です。