Beispiel #1
0
 public Parse(string parse, CrossAppDomainDelegate function, ParseTypes ptypes, FieldInfo fi, Object instanceOf)
 {
     this.parse = parse;
     this.ptypes = ptypes;
     this.function = function;
     this.fi = fi;
     this.instanceOf = instanceOf;
 }
Beispiel #2
0
        public static void Load(string pPath)
        {
            if (!File.Exists(pPath))
            {
                throw new FileNotFoundException();
            }
            using (Reader = new BinaryReader(File.Open(pPath, FileMode.Open, FileAccess.Read, FileShare.Read)))
            {
                while (Reader.BaseStream.Position < Reader.BaseStream.Length)
                {
                    ParseTypes Type = (ParseTypes)Reader.ReadByte();
                    switch (Type)
                    {
                    case ParseTypes.Maps:
                        Console.Write("Starting reading maps...");
                        Maps = new Dictionary <int, Map>();
                        ReadMaps();
                        Console.WriteLine("Done.");
                        break;

                    case ParseTypes.Equips:
                        Console.Write("Starting reading equips...");
                        Equips = new Dictionary <int, EquipData>();
                        ReadEquips();
                        Console.WriteLine("Done.");
                        break;

                    case ParseTypes.NPCs:
                        Console.Write("Starting reading ncps...");
                        NPCs = new Dictionary <int, NPCData>();
                        ReadNPCs();
                        Console.WriteLine("Done.");
                        break;

                    case ParseTypes.Items:
                        Console.Write("Starting reading items...");
                        Items = new Dictionary <int, ItemData>();
                        ReadItems();
                        Console.WriteLine("Done.");
                        break;

                    case ParseTypes.Mobs:
                        Console.Write("Starting reading mobs...");
                        Mobs = new Dictionary <int, MobData>();
                        ReadMobs();
                        Console.WriteLine("Done.");
                        break;

                    case ParseTypes.Skills:
                        Console.Write("Starting reading skills...");
                        Skills    = new Dictionary <int, Dictionary <byte, SkillLevelData> >();
                        MobSkills = new Dictionary <byte, Dictionary <byte, MobSkillLevelData> >();
                        ReadSkills();
                        Console.WriteLine("Done.");
                        break;

                    case ParseTypes.Drops:
                        Console.Write("Starting reading drops...");
                        Drops = new Dictionary <string, List <DropData> >();
                        ReadDrops();
                        Console.WriteLine("Done.");
                        break;

                    case ParseTypes.Pets:
                        Console.Write("Starting reading pets...");
                        Pets = new Dictionary <int, PetData>();
                        ReadPets();
                        Console.WriteLine("Done.");
                        break;

                    default:
                        throw new OutOfMemoryException("Could not find parsetype.");
                    }
                }
            }
            Reader = null; // Just to be sure it's dereferenced
        }