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; }
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 }