/// <summary>
            /// 反序列化方法(自动生成)
            /// </summary>
            public UsingAsDeclaration Deserialize(ref AccelReader reader)
            {
                UsingAsDeclaration result = new UsingAsDeclaration();
                int index;

                while (reader.HasNext(out index))
                {
                    switch (index)
                    {
                    case 1:
                        result.m_TypeName = reader.ReadGeneric <TypeName>();
                        break;

                    case 2:
                        result.m_AliasName = reader.ReadString();
                        break;

                    default:
                        reader.SkipNext();
                        break;
                    }
                }

                result.OnAfterDeserialization();
                return(result);
            }
Exemple #2
0
        Type ITypeSerializer <Type> .Deserialize(ref AccelReader reader)
        {
            if (!reader.HasNext())
            {
                return(null);
            }

            string value = reader.ReadString();

            return(Type.GetType(value, false));
        }
Exemple #3
0
            /// <summary>
            /// 反序列化方法(自动生成)
            /// </summary>
            public StructDeclaration Deserialize(ref AccelReader reader)
            {
                StructDeclaration result = new StructDeclaration();
                int index;

                while (reader.HasNext(out index))
                {
                    switch (index)
                    {
                    case 1:
                        result.m_Visibility = (TypeVisibility)reader.ReadInt32();
                        break;

                    case 2:
                        result.m_IsFinal = reader.ReadBoolean();
                        break;

                    case 3:
                        result.m_IsRef = reader.ReadBoolean();
                        break;

                    case 4:
                        result.m_IsNested = reader.ReadBoolean();
                        break;

                    case 5:
                        result.m_IsFieldIndexContinuous = reader.ReadBoolean();
                        break;

                    case 6:
                        result.m_Name = reader.ReadString();
                        break;

                    case 7:
                        result.m_Doc = reader.ReadString();
                        break;

                    case 8:
                        result.m_Size = reader.ReadVariantInt();
                        break;

                    case 9:
                        result.m_Declarations = reader.ReadGeneric <DeclarationArray>();
                        break;

                    default:
                        reader.SkipNext();
                        break;
                    }
                }

                result.OnAfterDeserialization();
                return(result);
            }
        T ITypeSerializer <T> .Deserialize(ref AccelReader reader)
        {
            T result = new T();

            while (reader.HasNext())
            {
                TValue value = reader.ReadGeneric <TValue>();
                result.Add(value);
            }

            return(result);
        }
Exemple #5
0
        List <T> ITypeSerializer <List <T> > .Deserialize(ref AccelReader reader)
        {
            List <T> result = new List <T>();

            while (reader.HasNext())
            {
                T value = reader.ReadGeneric <T>();
                result.Add(value);
            }

            return(result);
        }
Exemple #6
0
            /// <summary>
            /// 反序列化方法(自动生成)
            /// </summary>
            public FieldDeclaration Deserialize(ref AccelReader reader)
            {
                FieldDeclaration result = new FieldDeclaration();
                int index;

                while (reader.HasNext(out index))
                {
                    switch (index)
                    {
                    case 1:
                        result.m_RealType = reader.ReadGeneric <TypeName>();
                        break;

                    case 2:
                        result.m_Type = reader.ReadGeneric <TypeName>();
                        break;

                    case 3:
                        result.m_Name = reader.ReadString();
                        break;

                    case 4:
                        result.m_Doc = reader.ReadString();
                        break;

                    case 5:
                        result.m_Index = reader.ReadVariantInt();
                        break;

                    case 6:
                        result.m_IsObsolete = reader.ReadBoolean();
                        break;

                    case 7:
                        result.m_IsNeverNull = reader.ReadBoolean();
                        break;

                    default:
                        reader.SkipNext();
                        break;
                    }
                }

                result.OnAfterDeserialization();
                return(result);
            }
Exemple #7
0
            /// <summary>
            /// 反序列化方法(自动生成)
            /// </summary>
            public TypeName Deserialize(ref AccelReader reader)
            {
                TypeName result = new TypeName();
                int      index;

                while (reader.HasNext(out index))
                {
                    switch (index)
                    {
                    case 1:
                        result.m_RawString = reader.ReadString();
                        break;

                    case 2:
                        result.m_RawStringWithoutNullableAndArraySuffix = reader.ReadString();
                        break;

                    case 3:
                        result.m_IsGenericType = reader.ReadBoolean();
                        break;

                    case 4:
                        result.m_GenericTypeDefinitionName = reader.ReadGeneric <TypeName>();
                        break;

                    case 5:
                        result.m_GenericParameters = reader.ReadGeneric <TypeName[]>();
                        break;

                    case 6:
                        result.m_IsNullable = reader.ReadBoolean();
                        break;

                    case 7:
                        result.m_ArraySuffixCount = reader.ReadVariantInt();
                        break;

                    default:
                        reader.SkipNext();
                        break;
                    }
                }

                result.OnAfterDeserialization();
                return(result);
            }
        T[] ITypeSerializer <T[]> .Deserialize(ref AccelReader reader)
        {
            if (!reader.HasNext(out int index))
            {
                return(null);
            }

            int len = (int)reader.ReadVariantUInt();

            T[] result = new T[len];

            for (int i = 0; reader.HasNext(); i++)
            {
                result[i] = reader.ReadGeneric <T>();
            }

            return(result);
        }
        object ITypeSerializer <object> .Deserialize(ref AccelReader reader)
        {
            if (!reader.HasNext())
            {
                return(null);
            }

            Type   type       = Type.GetType(reader.ReadString());
            object serializer = typeof(InternalTypeCache <>).MakeGenericType(type).GetField(s_SerializerFieldName).GetValue(null);

            if (serializer is IBuiltinTypeSerializer && !reader.HasNext())
            {
                return(null);
            }

            MethodInfo method = MethodBase.GetMethodFromHandle(s_DeserializeMethod) as MethodInfo;

            return(method.MakeGenericMethod(type).Invoke(null, new object[] { serializer, reader }));
        }
Exemple #10
0
            /// <summary>
            /// 反序列化方法(自动生成)
            /// </summary>
            public PackageDeclaration Deserialize(ref AccelReader reader)
            {
                PackageDeclaration result = new PackageDeclaration();
                int index;

                while (reader.HasNext(out index))
                {
                    switch (index)
                    {
                    case 1:
                        result.m_PackageName = reader.ReadString();
                        break;

                    default:
                        reader.SkipNext();
                        break;
                    }
                }

                result.OnAfterDeserialization();
                return(result);
            }
        KeyValuePair <TKey, TValue> ITypeSerializer <KeyValuePair <TKey, TValue> > .Deserialize(ref AccelReader reader)
        {
            TKey   key   = reader.HasNext() ? reader.ReadGeneric <TKey>() : default;
            TValue value = reader.HasNext() ? reader.ReadGeneric <TValue>() : default;

            return(new KeyValuePair <TKey, TValue>(key, value));
        }
Exemple #12
0
 double ITypeSerializer <double> .Deserialize(ref AccelReader reader)
 {
     return(reader.ReadFloat64());
 }
 Color32 ITypeSerializer <Color32> .Deserialize(ref AccelReader reader)
 {
     return(reader.ReadColor32());
 }
Exemple #14
0
 string ITypeSerializer <string> .Deserialize(ref AccelReader reader)
 {
     return(reader.ReadString());
 }
Exemple #15
0
 DeclarationArray ITypeSerializer <DeclarationArray> .Deserialize(ref AccelReader reader)
 {
     if (!reader.HasNext(out int index) || index != 1)
     {
         return(default);
Exemple #16
0
 float ITypeSerializer <float> .Deserialize(ref AccelReader reader)
 {
     return(reader.ReadFloat32());
 }
Exemple #17
0
 decimal ITypeSerializer <decimal> .Deserialize(ref AccelReader reader)
 {
     return(reader.ReadFloat128());
 }
Exemple #18
0
 bool ITypeSerializer <bool> .Deserialize(ref AccelReader reader)
 {
     return(reader.ReadBoolean());
 }
Exemple #19
0
 ulong ITypeSerializer <ulong> .Deserialize(ref AccelReader reader)
 {
     return(reader.ReadUInt64());
 }
Exemple #20
0
 uint ITypeSerializer <uint> .Deserialize(ref AccelReader reader)
 {
     return(reader.ReadUInt32());
 }
Exemple #21
0
 ushort ITypeSerializer <ushort> .Deserialize(ref AccelReader reader)
 {
     return(reader.ReadUInt16());
 }
Exemple #22
0
 byte ITypeSerializer <byte> .Deserialize(ref AccelReader reader)
 {
     return(reader.ReadUInt8());
 }
 VUInt ITypeSerializer <VUInt> .Deserialize(ref AccelReader reader)
 {
     return(reader.ReadVariantUInt());
 }
 Vector4 ITypeSerializer <Vector4> .Deserialize(ref AccelReader reader)
 {
     return(reader.ReadVector4());
 }
Exemple #25
0
 UIntPtr ITypeSerializer <UIntPtr> .Deserialize(ref AccelReader reader)
 {
     return(reader.ReadUIntPtr());
 }
 Vector3Int ITypeSerializer <Vector3Int> .Deserialize(ref AccelReader reader)
 {
     return(reader.ReadVector3Int());
 }
Exemple #27
0
 Guid ITypeSerializer <Guid> .Deserialize(ref AccelReader reader)
 {
     if (!reader.HasNext())
     {
         return(default);
 Quaternion ITypeSerializer <Quaternion> .Deserialize(ref AccelReader reader)
 {
     return(reader.ReadQuaternion());
 }
 public static object Deserialize <T>(ITypeSerializer <T> value, ref AccelReader reader)
 {
     return(value.Deserialize(ref reader));
 }
Exemple #30
0
 char ITypeSerializer <char> .Deserialize(ref AccelReader reader)
 {
     return(reader.ReadChar());
 }