示例#1
0
        public override void Parse(string[] lines)
        {
            var index = Array.IndexOf(lines, ".LEVELS");

            if (index < 0)
            {
                return;
            }

            // There are 20 rooms
            for (var room = 0; room < 20; room++)
            {
                List <int> blocks = new List <int>();

                // Each room has 16 rows of blocks
                for (var row = 0; row < 16; row++)
                {
                    var line = lines[index + 1 + row + room * 16];
                    blocks.AddRange(ExtractNumbers(line));
                }

                RoomData.Add(blocks.ToArray());
            }

            var nameIndex = Array.IndexOf(lines, ".LEVnames");

            if (nameIndex < 0)
            {
                return;
            }

            for (var i = 0; i < 20; i++)
            {
                var line = lines[nameIndex + 1 + i];
                line = line.Replace("Data	", "").Replace("\"", "");
                RoomNames.Add(line);
            }
        }