Exemple #1
0
 public override void Read(void *fieldAddress, SerializerInput input)
 {
     if (input.BeginReadSize(out var end))
     {
         _fieldsSerializer.Read((byte *)fieldAddress, input);
         input.EndObject(end);
     }
     else
     {
         //"Changed from reference type?"
     }
 }
Exemple #2
0
        public override unsafe void Read(void *fieldAddress, SerializerInput input)
        {
            if (input.BeginReadSize(out var end))
            {
                _memberSerializer.Read((byte *)fieldAddress, input);

                input.EndObject(end);
            }
            else
            {
                ref var instance = ref Unsafe.AsRef <T>(fieldAddress);
                instance = default;
            }
        public override unsafe void Read(void *fieldAddress, SerializerInput input)
        {
            if (input.BeginReadSize(out var end))
            {
                ref var objectInstance = ref Unsafe.AsRef <object>(fieldAddress);
                if (objectInstance == null)
                {
                    objectInstance = Activator.CreateInstance(_type);
                }

                _memberSerializer.Read((byte *)fieldAddress, input);

                input.EndObject(end);
            }