このクラスは、サーバーからクライアントへ構造体のリストを同期するために使用します。
SyncListStruct を使用するには、新規クラスを作成し、SyncListStruct を継承させる必要があります。
using UnityEngine; using UnityEngine.Networking;
public class MyScript : NetworkBehaviour { public struct POW { public int pow; public float f; }
public class SyncListPOW : SyncListStruct<POW> { }
public SyncListPOW m_pows = new SyncListPOW(); }
Make sure your struct members are non-static public members.
We allow the following types to be used in your struct;
• Basic type (byte, int, float, string, UInt64, etc)
• Built-in Unity math type (Vector3, Quaternion, etc),
• Arrays of basic types
• Other structs containing allowable types
• NetworkIdentity
• NetworkInstanceId
• NetworkHash128
• GameObject with a NetworkIdentity component attached.
シリアライズメソッドは自動で生成されます。
Callback | SyncListChanged に使用するデリゲート |
Count | SyncList<T> のエレメントの数を返します。 |
IsReadOnly | SyncList<T> が読み込みだけかどうか。 |
Add | List:Add() と同じ機能ですが、クライアント上のリストに要素を追加します。 |
Clear | List:Clear() と同じ機能ですが、クライアント上のリストをクリアします。 |
Contains | リストが要素 item を含んでいるかを判断します。 |
CopyTo | ある配列インデックスから始めて、SyncList<T> のエレメントを配列にコピーします。 |
Dirty | ダーティーとしてリスト内の要素をマークします。こうすることで、クライアント上でリストが更新されます。 |
GetEnumerator | SyncList<T> を走査するエニュメレーターを返します。 |
HandleMsg | リモートのリストを操作するために使用する内部関数 |
IndexOf | SyncList<T> の指定した要素のインデックスを返します |
InitializeBehaviour | 内部関数 |
Insert | List::Insert() と同じ機能ですが、クライアント上のリストに挿入します。 |
Remove | List:Remove() と同じ機能ですが、クライアント上の要素も削除します。 |
RemoveAt | List:Remove() と同じ機能ですが、インデックスからクライアント上の要素を削除します。 |
DeserializeItem | このメソッドはストリームから SyncList の要素をデシリアライズするときに使用します。 |
SerializeItem | これは、SyncList からストリームに値を書き込むために使用します。 |
SyncListChanged | リストが変更されたときにコールバックとして受け取ることのできるデリゲートです。 |