Пример #1
0
        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);
        }
Пример #2
0
 public object Unpack(Packer packer)
 {
     return(MetaTypeArraySerializer.UnpackDirect(packer));
 }