Пример #1
0
        /// <summary>
        /// </summary>
        /// <returns>
        /// </returns>
        private static List <PlayfieldData> ExtractPlayfieldData()
        {
            List <PlayfieldData> playfields = new List <PlayfieldData>(700);

            foreach (int recnum in extractor.GetRecordInstances(1000001))
            {
                PlayfieldData pf = new PlayfieldData();
                pf.PlayfieldId = recnum;

                // Console.WriteLine("Parsing PF " + recnum);
                if (extractor.GetRecordInstances(1000030).Contains(recnum))
                {
                    pf.Doors1 = PlayfieldParser.ParseDoors(extractor.GetRecordData(1000030, recnum));
                }

                pf.Name         = PlayfieldParser.ParseName(extractor.GetRecordData(1000001, recnum));
                pf.Destinations =
                    PlayfieldParser.ParseDestinations(extractor.GetRecordData(1000001, recnum)).Destinations;
                if (extractor.GetRecordInstances(1000021).Contains(recnum))
                {
                    pf.Walls = PlayfieldParser.ParseWalls(extractor.GetRecordData(1000021, recnum));
                }

                playfields.Add(pf);
            }

            return(playfields);
        }
Пример #2
0
        /// <summary>
        /// </summary>
        /// <returns>
        /// </returns>
        private static List <PlayfieldData> ExtractPlayfieldData()
        {
            List <PlayfieldData> playfields = new List <PlayfieldData>(700);

            int[] instances = extractor.GetRecordInstances(Extractor.RecordType.Playfield);
            foreach (int recnum in instances)
            {
                if (recnum < 120)
                {
                    continue;
                }

                PlayfieldData pf = new PlayfieldData();
                pf.PlayfieldId = recnum;


                int[] doors = extractor.GetRecordInstances(Extractor.RecordType.Door);
                if (doors.Contains(recnum))
                {
                    byte[] doorData = extractor.GetRecordData(Extractor.RecordType.Door, recnum);
                    pf.Doors1 = PlayfieldParser.ParseDoors(doorData);
                }

                pf.Name         = PlayfieldParser.ParseName(extractor.GetRecordData(Extractor.RecordType.Playfield, recnum));
                pf.Destinations = PlayfieldParser.ParseDestinations(extractor.GetRecordData(Extractor.RecordType.Playfield, recnum)).Destinations;

                /*Console.WriteLine("Parsing PF " + recnum+" "+pf.Name);
                 * if (recnum == 500)
                 * {
                 *  Console.ReadLine();
                 * }*/
                if (extractor.GetRecordInstances(Extractor.RecordType.Wall).Contains(recnum))
                {
                    pf.Walls = PlayfieldParser.ParseWalls(extractor.GetRecordData(Extractor.RecordType.Wall, recnum));
                }

                playfields.Add(pf);
            }

            return(playfields);
        }