public static void Load() { Persistence.Deserialize( _FilePath, reader => { var version = reader.ReadInt(); switch (version) { case 1: { var entries = reader.ReadInt(); while (--entries >= 0) { var key = reader.ReadString(); var ents = reader.ReadInt(); var col = new EntityCollection(ents); IEntity ent; while (--ents >= 0) { ent = World.FindEntity(reader.ReadInt()); if (ent != null && !ent.Deleted) { col.Add(ent); } } _Collections[key] = col; } } break; case 0: { var entries = reader.ReadInt(); while (--entries >= 0) { var key = reader.ReadString(); var items = reader.ReadStrongItemList(); var mobiles = reader.ReadStrongMobileList(); var col = new EntityCollection(items.Count + mobiles.Count); col.AddRange(items); col.AddRange(mobiles); _Collections[key] = col; } } break; } }); }
public static IEntity ReadEntity(this GenericReader reader) { return(World.FindEntity(reader.ReadInt())); }