Пример #1
0
        void Write_UE_Value(UE_Value value, PositionToken position)
        {
            Type value_cs_type = value.GetType();

            // Non-container Type
            if (value_cs_type == typeof(UE_ <bool>))
            {
                Write((UE_ <bool>)value, position);
            }
            else if (value_cs_type == typeof(UE_ <byte>))
            {
                Write((UE_ <byte>)value, position);
            }
            else if (value_cs_type == typeof(UE_Enum))
            {
                Write((UE_Enum)value, position);
            }
            else if (value_cs_type == typeof(UE_ <float>))
            {
                Write((UE_ <float>)value, position);
            }
            else if (value_cs_type == typeof(UE_ <int>))
            {
                Write((UE_ <int>)value, position);
            }
            else if (value_cs_type == typeof(UE_ <string>))
            {
                Write((UE_ <string>)value, position);
            }
            // Container Type
            else if (value_cs_type == typeof(UE_Map))
            {
                Write((UE_Map)value, position);
            }
            else if (value_cs_type == typeof(UE_Array))
            {
                Write((UE_Array)value, position);
            }
            else if (value_cs_type == typeof(UE_StructArray))
            {
                Write((UE_StructArray)value, position);
            }
            // Struct Type
            else if (value_cs_type == typeof(UE_Struct_Vector))
            {
                Write((UE_Struct_Vector)value, position);
            }
            else if (value_cs_type == typeof(UE_Struct_Quat))
            {
                Write((UE_Struct_Quat)value, position);
            }
            else if (value_cs_type == typeof(UE_Struct_Generic))
            {
                Write((UE_Struct_Generic)value, position);
            }
            else
            {
                throw new NotImplementedException(value_cs_type.ToString());
            }
        }