LSLib.LS.LSBWriter.WriteRegions C# (CSharp) Méthode

WriteRegions() private méthode

private WriteRegions ( Resource rsrc ) : void
rsrc Resource
Résultat void
        private void WriteRegions(Resource rsrc)
        {
            writer.Write((UInt32)rsrc.Regions.Count);
            var regionMapOffset = stream.Position;
            foreach (var rgn in rsrc.Regions)
            {
                writer.Write(staticStrings[rgn.Key]);
                writer.Write((UInt32)0); // Offset of region, will be updater after we finished serializing
            }

            List<UInt32> regionPositions = new List<UInt32>();
            foreach (var rgn in rsrc.Regions)
            {
                regionPositions.Add((UInt32)stream.Position);
                WriteNode(rgn.Value);
            }

            var endOffset = stream.Position;
            stream.Seek(regionMapOffset, SeekOrigin.Begin);
            foreach (var position in regionPositions)
            {
                stream.Seek(4, SeekOrigin.Current);
                writer.Write(position);
            }

            stream.Seek(endOffset, SeekOrigin.Begin);
        }