public sealed override void Read(BitStream stream, ref TOwner obj, MySerializeInfo info) { TMember result; if (MySerializationHelpers.CreateAndRead <TMember>(stream, out result, m_serializer, info ?? m_info)) { m_setter(ref obj, ref result); } }
public override void Read(Library.Collections.BitStream stream, out TItem[] value, MySerializeInfo info) { int num = (int)stream.ReadUInt32Variant(); value = new TItem[num]; for (int i = 0; i < value.Length; i++) { MySerializationHelpers.CreateAndRead <TItem>(stream, out value[i], m_itemSerializer, info.ItemInfo ?? MySerializeInfo.Default); } }
public override void Read(BitStream stream, out HashSet <TItem> value, MySerializeInfo info) { TItem item; int num = (int)stream.ReadUInt32Variant(); value = new HashSet <TItem>(); for (int i = 0; i < num; i++) { MySerializationHelpers.CreateAndRead <TItem>(stream, out item, m_itemSerializer, info.ItemInfo ?? MySerializeInfo.Default); value.Add(item); } }
public sealed override void Read(BitStream stream, ref TOwner obj, MySerializeInfo info) { TMember result; if (MySerializationHelpers.CreateAndRead <TMember>(stream, out result, m_serializer, info ?? m_info)) { #if !XB1 // XB1_SYNC_SERIALIZER_NOEMIT m_setter(ref obj, ref result); #else // XB1 System.Diagnostics.Debug.Assert(false, "TODO for XB1."); #endif // XB1 } }
public override void Read(BitStream stream, out Dictionary <TKey, TValue> obj, MySerializeInfo info) { TKey key; TValue value; int num = (int)stream.ReadUInt32Variant(); obj = new Dictionary <TKey, TValue>(num); for (int i = 0; i < num; i++) { MySerializationHelpers.CreateAndRead(stream, out key, m_keySerializer, info.KeyInfo ?? MySerializeInfo.Default); MySerializationHelpers.CreateAndRead(stream, out value, m_valueSerializer, info.ItemInfo ?? MySerializeInfo.Default); obj.Add(key, value); } }
public static void CreateAndRead <T>(BitStream stream, out T value, MySerializeInfo serializeInfo = null) { MySerializationHelpers.CreateAndRead(stream, out value, MyFactory.GetSerializer <T>(), serializeInfo ?? MySerializeInfo.Default); }