部屋とプレイヤーのプロパティ辞書の値や、RPCの引数には、シリアライズ可能な型のみ指定できます。 WSNet2のシリアライザでは、型は基本的には保存されます。 シリアライズやデシリアライズの詳細はシリアライザの使い方を参照してください。
次のプリミティブ型はそのままシリアライズできます。
boolsbytebytecharshortushortintuintlongulongfloatdoublestring
IWSNet2Serializableを実装した型は、
WSNet2Serializerクラスに登録することでシリアライズ出来るようになります。
static void Register<T>(byte classID) where T : class, IWSNet2Serializable, new();型ごとに1byteのclassIDを割り当てるため、最大256種類登録できます。 全てのクライアントで型とclassIDの対応は一致している必要があります。
キーがstringで、値が「シリアライズ可能な型」の辞書Dictionary<string, object>型がシリアライズできます。
値として辞書やリストを含めることもできます。
シリアライズ可能なプリミティブ型の配列(int[]など)はそのままシリアライズできます。
IWSNet2Serializableを実装した単一の型Tについて、List<T>とT[]もシリアライズ可能です。
さらに、全要素が「シリアライズ可能な型」のList<object>やobject[]もシリアライズでき、
この場合要素にリストや辞書をネストして含めることができます。
文字列やIWSNet2Serializable、辞書、配列、リストはnullにすることができ、
型なしのNullとしてシリアライズされます。
デシリアライズ時には指定の型のnullになります。