예제 #1
0
        /// <summary>
        ///     DO NOT USE IN ITEM, MOBILE OR GUILD SERIALIZATION
        /// </summary>
        public static void ReadBlock(this GenericReader reader, Action <GenericReader> onDeserialize)
        {
            VitaNexCore.TryCatch(
                () =>
            {
                long pos    = reader.Seek(0, SeekOrigin.Current);
                long length = reader.ReadLong();

                VitaNexCore.TryCatch(() => onDeserialize(reader), VitaNexCore.ToConsole);

                reader.Seek(pos + length, SeekOrigin.Begin);
            },
                VitaNexCore.ToConsole);
        }
예제 #2
0
파일: Data.cs 프로젝트: Ravenwolfe/Core
		public ClilocInfo Lookup(GenericReader bin)
		{
			bin.Seek(Offset, SeekOrigin.Begin);
			var data = new byte[Length];

			for (long i = 0; i < data.Length; i++)
			{
				data[i] = bin.ReadByte();
			}

			return Info = new ClilocInfo(Language, Index, Encoding.UTF8.GetString(data));
		}
예제 #3
0
        public static void ReadBlock(this GenericReader reader, Action <GenericReader> onDeserialize)
        {
            /*var block = ReadLongBytes(reader);
             *
             * using (var ms = new MemoryStream(block.Length))
             * {
             *      ms.Write(block, 0, block.Length);
             *      ms.Seek(0, SeekOrigin.Begin);
             *
             *      VitaNexCore.TryCatch(onDeserialize, ms.GetBinaryReader());
             *
             *      ms.Close();
             * }*/

            long pos    = reader.Seek(0, SeekOrigin.Current);
            long length = reader.ReadLong();

            VitaNexCore.TryCatch(onDeserialize, reader);

            reader.Seek(pos + length, SeekOrigin.Begin);
        }
예제 #4
0
		private static void ReadLength(GenericReader idx, bool reset, out long length, out int count)
		{
			var index = idx.Seek(0, SeekOrigin.Current);

			idx.Seek(4, SeekOrigin.Begin);

			length = idx.ReadLong();
			count = idx.ReadInt();

			if (reset)
			{
				idx.Seek(index, SeekOrigin.Begin);
			}
		}