/// <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); }
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)); }
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); }
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); } }