public override void DeSerialize(DataReader data) { data.byteOrder = DataReader.ByteOrder.Big; MetaDataSize = data.ReadInt32(); FileSize = data.ReadUint32(); Version = data.ReadInt32(); DataOffset = data.ReadUint32(); endianness = data.ReadByte(); reserved = data.ReadBytes(3); }
private object readValue(SerializePropertyType ptype, TypeTree typeTree, DataReader data) { object ret = null; switch (ptype) { case SerializePropertyType.Bool: ret = data.ReadBool(); break; case SerializePropertyType.SByte: ret = data.ReadSbyte(); break; case SerializePropertyType.Byte: ret = data.ReadByte(); break; case SerializePropertyType.Short: ret = data.ReadInt16(); break; case SerializePropertyType.UShort: ret = data.ReadUInt16(); break; case SerializePropertyType.Int: ret = data.ReadInt32(); break; case SerializePropertyType.UInt: ret = data.ReadUint32(); break; case SerializePropertyType.Long: ret = data.ReadInt64(); break; case SerializePropertyType.ULong: ret = data.ReadUInt64(); break; case SerializePropertyType.Float: ret = data.ReadFloat(); break; case SerializePropertyType.Double: ret = data.ReadDouble(); break; case SerializePropertyType.String: int strSize = data.ReadInt32(); ret = UnicodeEncoding.UTF8.GetString(data.ReadBytes(strSize)); //ret = UTF8Encoding.Default.GetString(); break; default: break; } if (((typeTree.metaFlag & TypeTree.FLAG_FORCE_ALIGN) != 0) || propertyType == SerializePropertyType.String) { data.Align(4); } return(ret); }
private object readValue(SerializePropertyType ptype,TypeTree typeTree, DataReader data) { object ret = null; switch (ptype) { case SerializePropertyType.Bool: ret = data.ReadBool(); break; case SerializePropertyType.SByte: ret = data.ReadSbyte(); break; case SerializePropertyType.Byte: ret = data.ReadByte(); break; case SerializePropertyType.Short: ret = data.ReadInt16(); break; case SerializePropertyType.UShort: ret = data.ReadUInt16(); break; case SerializePropertyType.Int: ret = data.ReadInt32(); break; case SerializePropertyType.UInt: ret = data.ReadUint32(); break; case SerializePropertyType.Long: ret = data.ReadInt64(); break; case SerializePropertyType.ULong: ret = data.ReadUInt64(); break; case SerializePropertyType.Float: ret = data.ReadFloat(); break; case SerializePropertyType.Double: ret = data.ReadDouble(); break; case SerializePropertyType.String: int strSize = data.ReadInt32(); ret = UnicodeEncoding.UTF8.GetString(data.ReadBytes(strSize)); //ret = UTF8Encoding.Default.GetString(); break; default: break; } if (((typeTree.metaFlag & TypeTree.FLAG_FORCE_ALIGN) != 0) || propertyType == SerializePropertyType.String) { data.Align(4); } return ret; }
public override void DeSerialize(DataReader br) { version = br.ReadInt16(); treeLevel = br.ReadByte(); isArray = br.ReadBool(); typeOffset = br.ReadInt32(); nameOffset = br.ReadInt32(); size = br.ReadInt32(); index = br.ReadInt32(); metaFlag = br.ReadInt32(); }