Esempio n. 1
0
        public static BSAReader Load(AbsolutePath filename)
        {
            var bsa = new BSAReader {
                _streamFactory = new NativeFileStreamFactory(filename)
            };

            using var rdr = bsa.GetStream();
            bsa.LoadHeaders(rdr);
            return(bsa);
        }
Esempio n. 2
0
        public static async ValueTask <BSAReader> LoadAsync(IStreamFactory factory)
        {
            await using var stream = await factory.GetStream().ConfigureAwait(false);

            using var br = new BinaryReader(stream);
            var bsa = new BSAReader {
                _streamFactory = factory
            };

            bsa.LoadHeaders(br);
            return(bsa);
        }
Esempio n. 3
0
        public static async ValueTask <BSAReader> Load(AbsolutePath filename)
        {
            using var stream = await filename.OpenRead();

            using var br = new BinaryReader(stream);
            var bsa = new BSAReader {
                _rdr = br, _stream = stream, _fileName = filename
            };
            await bsa.LoadHeaders();

            bsa._rdr    = null;
            bsa._stream = null;
            return(bsa);
        }