ネットワークフレームAPI
TSMP ネットワーク ペイロードは、フレーム ペイロード内のコンパクトなメッセージ ストリームです。これには、変数状態メッセージと RPC メッセージが含まれます。
ネットワークフレーム構造
| 一部 | 目的 |
|---|---|
| ネットワークフレームヘッダー | バージョン、メッセージ数、ペイロードレベルのメタデータ。 |
| 変数状態メッセージ | 1 つの networkId と 1 つ以上の変数値。 |
| RPC メッセージ | 1 つの networkId、1 つのメソッド ハッシュ、およびオプションの引数。 |
| 値のペイロード | プリミティブ、文字列、配列、またはパックされた byte[] データの型付きバイト。 |
空の変数メッセージを書き込んではなりません。コンポーネントに有効なフィールドがない場合、ビルダーはメッセージをロールバックします。
変数状態メッセージ
変数状態メッセージは networkId によってターゲット動作を識別し、フィールド エントリが含まれます。
| エントリ | 意味 |
|---|---|
variableHash | [TransSync] キーまたはフィールド名の安定したハッシュ。 |
NetworkValueType | エンコードされた値のタイプ。 |
| 長さ | 文字列、配列、および生のバイトに必要です。 |
| データ | 値のバイト。 |
デコーダは、バインディングがネットワーク ID、変数ハッシュ、方向、およびターゲット フィールドに一致する場合にのみ値を適用します。
RPC メッセージ
RPC メッセージは、networkId によってターゲットの動作を識別し、ハッシュによってメソッドを識別します。 TSMPNetworkBehaviour.SendTransRPC() は通常のエントリ ポイントです。
| ターゲット | 行動 |
|---|---|
RPCTarget.Local | ローカルのみで実行します。リモート テクスチャ イベントは必要ありません。 |
RPCTarget.Remote | 受信者専用のキュー。 |
RPCTarget.All | ローカルで実行し、受信者を待ちます。 |
値のタイプ
サポートされている同期値には、プリミティブ数値型、bool、Vector2、Vector3、Quaternion、string、byte[]、およびサポートされている配列が含まれます。高密度の高周波データには byte[] を使用します。
Binary ヘルパー使用
プロトコル ヘルパーは、リトル エンディアン値の読み取りと書き込みを行います。カスタムのパックされたペイロードの場合、受信者が将来の変更を安全に処理できるように、バージョン バイトをオフセット 0 に維持します。