Exemplo n.º 1
0
        private static void readHeader <T>(BinaryReader reader, IList <T> items, HeaderCallback <T> readCallback)
        {
            // Count
            int count = BinaryReaderTools.ReadNumber(reader);

            // Items)
            for (int i = 0; i < count; i++)
            {
                string itemAsText = BinaryReaderTools.ReadString(reader);
                T      item       = readCallback(itemAsText);
                items.Add(item);
            }
        }
        private static void ReadHeader <T>(BinaryReader reader, ICollection <T> items, HeaderCallback <T> readCallback)
        {
            // Count
            var count = BinaryReaderTools.ReadNumber(reader);

            // Items
            for (var i = 0; i < count; i++)
            {
                var itemAsText = BinaryReaderTools.ReadString(reader);
                var item       = readCallback(itemAsText);
                items.Add(item);
            }
        }
Exemplo n.º 3
0
        IEnumerable <string> GetPathList(BinaryReader reader, RiotArchiveHeader header)
        {
            var stream = reader.BaseStream;

            stream.Seek(header.PathListOffset, SeekOrigin.Begin);

            var pathListInfo  = reader.ReadStruct <RiotPathListHeader>();
            var stringOffsets = GetStringOffsets(reader, (int)pathListInfo.Length).ToArray();

            foreach (var offset in stringOffsets)
            {
                stream.Seek(header.PathListOffset + offset.Offset, SeekOrigin.Begin);
                yield return(BinaryReaderTools.GetStaticLengthString(reader, (int)offset.Length));
            }
        }
 /// <summary>
 ///   Reads property name
 /// </summary>
 /// <returns></returns>
 public string ReadName()
 {
     return(BinaryReaderTools.ReadString(_reader));
 }
 /// <summary>
 ///   Reads simple value (value of a simple property)
 /// </summary>
 /// <param name = "expectedType"></param>
 /// <returns></returns>
 public object ReadValue(Type expectedType)
 {
     return(BinaryReaderTools.ReadValue(expectedType, _reader));
 }
 /// <summary>
 ///   Read array of integers which were saved as 1,2 or 4 bytes, according to their size
 /// </summary>
 /// <returns>Empty array if there are no indexes</returns>
 public int[] ReadNumbers()
 {
     return(BinaryReaderTools.ReadNumbers(_reader));
 }
 /// <summary>
 ///   Read integer which was saved as 1,2 or 4 bytes, according to its size
 /// </summary>
 /// <returns></returns>
 public int ReadNumber()
 {
     return(BinaryReaderTools.ReadNumber(_reader));
 }
Exemplo n.º 8
0
        /// <summary>
        ///   Read type
        /// </summary>
        /// <returns></returns>
        public Type ReadType()
        {
            int index = BinaryReaderTools.ReadNumber(_reader);

            return(_types[index]);
        }
Exemplo n.º 9
0
        /// <summary>
        ///   Reads property name
        /// </summary>
        /// <returns></returns>
        public string ReadName()
        {
            int index = BinaryReaderTools.ReadNumber(_reader);

            return(_names[index]);
        }