BananaMpq.Layer.Chunks.StringReferenceChunk.StringReferenceChunk C# (CSharp) Method

StringReferenceChunk() private method

private StringReferenceChunk ( ChunkHeader header ) : System
header ChunkHeader
return System
        internal unsafe StringReferenceChunk(ChunkHeader* header)
            : base(header)
        {
            var begin = (byte*)ChunkHeader.ChunkBegin(header);
            var end = begin + header->Size;
            var curBegin = begin;
            var cur = begin;
            Strings = new List<StringReference>();

            while(cur < end)
            {
                if (*cur == 0)
                {
                    var length = (int)(cur - curBegin);
                    if (length > 0)
                    {
                        Strings.Add(new StringReference
                        {
                            String = Marshal.PtrToStringAnsi((IntPtr)curBegin, length),
                            Offset = (int)(curBegin - begin)
                        });
                    }
                    curBegin = cur + 1;
                }
                cur++;
            }
        }
StringReferenceChunk