Parse() public method

public Parse ( ) : void
return void
Exemplo n.º 1
0
        static void Main(string[] args)
        {
            var dat = new DungeonParser();
            dat.Parse();

            a(dat.Data.Maps[1], dat.Data);

            using (var w = new StreamWriter("output.txt"))
            {

                //var stairTiles = (from i in dat.Data.Maps.SelectMany(x => x.Tiles) where i.GetType() == typeof(StairsTile) select i).SelectMany(x => x.GetItems(dat.Data));


                //var q = from j in stairTiles

                //        where j.GetType() == typeof(Actuator) //&& (j as Actuator).AcutorType == 5/*stair actuator*/
                //        select new { Action = ((Actuator)j).Action, Position = ((Actuator)j).ActionType.ToString() };

                //foreach (var k in from i in dat.Data.ObjectIDs
                //                  where i.Category == ObjectCategory.Actuators && ((Actuator)i.GetObject(dat.Data)).AcutorType == 5
                //                  select ((RmtTrg)((Actuator)i.GetObject(dat.Data)).ActionType).Position.ToString() + " " +
                //                  dat.Data.Actuators.IndexOf((Actuator)i.GetObject(dat.Data)))

                //    w.WriteLine(k);


                //var stairAcutorsIDs = (from i in new int[] { 55, 166, 402, 166, 127 }
                //                       select ((((0 ^ (int)TilePosition.North_TopLeft) << 4) ^ (int)ObjectCategory.Actuators) << 10) ^ i).ToArray();
                WriteActuators(w, dat);
                WriteStairTiles(w, dat);
                WriteMapsTiles(w, dat);
            }
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            var dat = new DungeonParser();

            dat.Parse();

            a(dat.Data.Maps[1], dat.Data);

            using (var w = new StreamWriter("output.txt"))
            {
                //var stairTiles = (from i in dat.Data.Maps.SelectMany(x => x.Tiles) where i.GetType() == typeof(StairsTile) select i).SelectMany(x => x.GetItems(dat.Data));


                //var q = from j in stairTiles

                //        where j.GetType() == typeof(Actuator) //&& (j as Actuator).AcutorType == 5/*stair actuator*/
                //        select new { Action = ((Actuator)j).Action, Position = ((Actuator)j).ActionType.ToString() };

                //foreach (var k in from i in dat.Data.ObjectIDs
                //                  where i.Category == ObjectCategory.Actuators && ((Actuator)i.GetObject(dat.Data)).AcutorType == 5
                //                  select ((RmtTrg)((Actuator)i.GetObject(dat.Data)).ActionType).Position.ToString() + " " +
                //                  dat.Data.Actuators.IndexOf((Actuator)i.GetObject(dat.Data)))

                //    w.WriteLine(k);


                //var stairAcutorsIDs = (from i in new int[] { 55, 166, 402, 166, 127 }
                //                       select ((((0 ^ (int)TilePosition.North_TopLeft) << 4) ^ (int)ObjectCategory.Actuators) << 10) ^ i).ToArray();
                WriteActuators(w, dat);
                WriteStairTiles(w, dat);
                WriteMapsTiles(w, dat);
            }
        }
Exemplo n.º 3
0
        public LegacyMapBuilder()
        {
            var parser = new DungeonParser();
            parser.Parse();
            Data = parser.Data;

            ItemCreator = new LegacyItemCreator(this);

            WeaponFactories = Data.WeaponDescriptors
                .Select(wd =>
                {
                    var itemDescriptor = Data.GetItemDescriptor(ObjectCategory.Weapon, wd.Identifer);
                    return new WeaponItemFactory(wd.Name, wd.Weight, GetAttackFactories(itemDescriptor),
                        ItemCreator.GetStorageTypes(itemDescriptor.CarryLocation),
                        wd.DeltaEnergy, (WeaponClass)wd.Class, wd.KineticEnergy, wd.ShootDamage, wd.Strength);
                })
                .ToArray();

            ClothFactories = Data.ArmorDescriptors
               .Select(wd =>
               {
                   var itemDescriptor = Data.GetItemDescriptor(ObjectCategory.Clothe, wd.Identifer);
                   return new ClothItemFactory(wd.Name, wd.Weight, GetAttackFactories(itemDescriptor)
                       , ItemCreator.GetStorageTypes(itemDescriptor.CarryLocation));
               })
               .ToArray(); ;

            ContainerFactories = Data.ContainerDescriptors
               .Select(wd =>
               {
                   var itemDescriptor = Data.GetItemDescriptor(ObjectCategory.Container, wd.Identifer);
                   return new ContainerItemFactory(wd.Name, wd.Weight, GetAttackFactories(itemDescriptor)
                       , ItemCreator.GetStorageTypes(itemDescriptor.CarryLocation));
               })
               .ToArray();

            ScrollFactories = Data.ScrollDescriptors
               .Select(wd =>
               {
                   var itemDescriptor = Data.GetItemDescriptor(ObjectCategory.Scroll, wd.Identifer);
                   return new ScrollItemFactory(wd.Name, wd.Weight, GetAttackFactories(itemDescriptor)
                       , ItemCreator.GetStorageTypes(itemDescriptor.CarryLocation));
               })
               .ToArray();


            MiscFactories = Data.MiscDescriptors
                .Select(wd =>
                {
                    var itemDescriptor = Data.GetItemDescriptor(ObjectCategory.Miscellenaous, wd.Identifer);
                    return new MiscItemFactory(wd.Name, wd.Weight, GetAttackFactories(itemDescriptor)
                        , ItemCreator.GetStorageTypes(itemDescriptor.CarryLocation));
                })
                .ToArray();

            PotionFactories = Data.PotionDescriptors
                .Select(p =>
                {
                    var itemDescriptor = Data.GetItemDescriptor(ObjectCategory.Potion, p.Identifer);
                    return new PotionItemFactory(p.Name, p.Weight, GetAttackFactories(itemDescriptor)
                        , ItemCreator.GetStorageTypes(itemDescriptor.CarryLocation));
                })
                .ToArray();

        }