public static Packer.Meta UnpackDirect(Packer packer) { var meta = new Packer.Meta(); meta.metaTypeId = 0; meta.meta = new Dictionary <System.Type, Packer.MetaType>(); meta.typeById = new Dictionary <int, System.Type>(); var asms = System.AppDomain.CurrentDomain.GetAssemblies(); var arr = MetaTypeArraySerializer.UnpackDirect(packer); for (int i = 0; i < arr.Length; ++i) { var data = arr[i]; for (int j = 0; j < asms.Length; ++j) { var type = asms[j].GetType(data.type); if (type != null) { meta.meta.Add(type, data); meta.typeById.Add(data.id, type); break; } } } return(meta); }
public object Unpack(Packer packer) { return(MetaTypeArraySerializer.UnpackDirect(packer)); }