Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        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);
            }
        }
Exemple #6
0
 public static void CreateAndRead <T>(BitStream stream, out T value, MySerializeInfo serializeInfo = null)
 {
     MySerializationHelpers.CreateAndRead(stream, out value, MyFactory.GetSerializer <T>(), serializeInfo ?? MySerializeInfo.Default);
 }