コード例 #1
0
ファイル: FileWriter.cs プロジェクト: SashaCX75/Amazfit
        private void WriteNewHeader(FileDescriptor descriptor)
        {
            var header = new NewHeader
            {
                ResourcesCount = descriptor.ResourcesCount.Value,
                Version        = descriptor.Version.Value,
                Unknown        = descriptor.Unknown.Value
            };

            Logger.Trace("Writing resources header...");
            Logger.Trace("Signature: {0}, Version: {1}, ResourcesCount: {2}, Unknown: {3}",
                         header.Signature, header.Version, header.ResourcesCount, header.Unknown
                         );
            header.WriteTo(_binaryWriter);
        }
コード例 #2
0
        private void WriteNewHeader(FileDescriptor descriptor)
        {
            var header = new NewHeader
            {
                ResourcesCount = descriptor.ResourcesCount.Value,
                Version        = descriptor.Version.Value,
                Unknown        = descriptor.Unknown.Value
            };

            Logger.Trace("写入头文件...");
            Logger.Trace("已签名: {0}, 版本: {1}, 资源数目: {2}, 错误(未知: {3})",
                         header.Signature, header.Version, header.ResourcesCount, header.Unknown
                         );
            header.WriteTo(_binaryWriter);
        }
コード例 #3
0
        public static FileDescriptor Read(Stream stream)
        {
            var binaryReader = new BinaryReader(stream);

            var signature = Encoding.ASCII.GetString(binaryReader.ReadBytes(5));

            Logger.Trace("Resources signature was read:");
            stream.Seek(0, SeekOrigin.Begin);
            Logger.Trace("Signature: {0}", signature);

            Header header;

            switch (signature)
            {
            case Header.ResSignature:
                header = Header.ReadFrom(binaryReader);
                break;

            case NewHeader.ResSignature:
                header = NewHeader.ReadFrom(binaryReader);
                break;

            default:
                throw new ArgumentException($"Signature '{signature}' is no recognized.");
            }

            Logger.Trace("Resources header was read:");
            Logger.Trace("Version: {0}, ResourcesCount: {1}", header.Version, header.ResourcesCount);

            return(new FileDescriptor
            {
                HasNewHeader = header is NewHeader,
                ResourcesCount = header.ResourcesCount,
                Version = header.Version,
                Unknown = (header as NewHeader)?.Unknown,
                Resources = new Reader(stream).Read(header.ResourcesCount)
            });
        }
コード例 #4
0
 private void OnHeader(Header Head, Message Message)
 {
     NewHeader?.Invoke(Head, Message);
 }