internal void Deserialize(Dictionary <string, object> dic) { foreach (string key in dic.Keys) { switch (key) { case "id": id = MyJsonTool.getStringValue(dic, key); break; case "count": count = MyJsonTool.getStringValue(dic, key); break; case "path": path = MyJsonTool.getStringValue(dic, key); break; case "model": { object obj = MyJsonTool.getValue(dic, key); model = new Product(); model.DeSerialize(obj as Dictionary <string, object>); } break; default: Debug.LogError("Json " + this.GetType().Name + " 里的 key = " + key + " 未实现!"); break; } } }
public void DeSerialize(Dictionary <string, object> dic) { materialData = new MaterialData(); foreach (string key in dic.Keys) { switch (key) { case "guid": guid = MyJsonTool.getIntValue(dic, key); break; case "id": id = MyJsonTool.getIntValue(dic, key); break; case "hide": hide = MyJsonTool.getBoolValue(dic, key); break; case "isT": isT = MyJsonTool.getBoolValue(dic, key); break; case "type": type = MyJsonTool.getIntValue(dic, key); break; case "width": width = MyJsonTool.getFloatValue(dic, key); break; case "height": height = MyJsonTool.getFloatValue(dic, key); break; case "disRoot": disRoot = MyJsonTool.getFloatValue(dic, key); break; case "materialData": { object obj = MyJsonTool.getValue(dic, key); materialData.DeSerialize(obj as Dictionary <string, object>); } break; case "index": index = MyJsonTool.getIntValue(dic, key); break; default: break; } } }
public virtual void Deserialize(Dictionary <string, object> dic) { foreach (string key in dic.Keys) { switch (key) { case "projectId": projectId = MyJsonTool.getStringValue(dic, key); break; //case "templateId": // templateId = MyJsonTool.getStringValue(dic, key); // break; case "enterType": enterType = MyJsonTool.getStringValue(dic, key); break; case "result": result = MyJsonTool.getStringValue(dic, key); break; case "goodsArr": goodsArr = MyJsonTool.getValue(dic, key); break; case "json": json = MyJsonTool.getStringValue(dic, key); break; case "msg": msg = MyJsonTool.getValue(dic, key); break; case "CollectType": CollectType = MyJsonTool.getStringValue(dic, key); break; case "priceId": priceId = MyJsonTool.getStringValue(dic, key); break; case "tempId": tempId = MyJsonTool.getIntValue(dic, key); break; case "userInfo": userInfo = MyJsonTool.getValue(dic, key); break; default: Debug.LogError("Json " + this.GetType().Name + " 里的 key = " + key + " 未实现!"); break; } } }
public void DeSerialize(Dictionary <string, object> dic) { foreach (string key in dic.Keys) { switch (key) { case "guid": guid = MyJsonTool.getIntValue(dic, key); break; case "id": id = MyJsonTool.getIntValue(dic, key); break; case "hide": hide = MyJsonTool.getBoolValue(dic, key); break; case "width": width = MyJsonTool.getFloatValue(dic, key); break;; case "height": height = MyJsonTool.getFloatValue(dic, key); break;; case "point1Guid": point1Guid = MyJsonTool.getIntValue(dic, key); break;; case "point2Guid": point2Guid = MyJsonTool.getIntValue(dic, key); break;; case "point1To2Data": { object obj = MyJsonTool.getValue(dic, key); point1To2Data.DeSerialize(obj as Dictionary <string, object>); } break;; case "point2To1Data": { object obj = MyJsonTool.getValue(dic, key); point2To1Data.DeSerialize(obj as Dictionary <string, object>); } break; default: break; } } }
public void DeSerialize(Dictionary <string, object> dic) { materialData = new MaterialData(); foreach (string key in dic.Keys) { switch (key) { case "guid": guid = MyJsonTool.getIntValue(dic, key); break; case "id": id = MyJsonTool.getIntValue(dic, key); break; case "hide": hide = MyJsonTool.getBoolValue(dic, key); break; case "targetWallGuid": targetWallGuid = MyJsonTool.getIntValue(dic, key); break; case "forward": forward = MyJsonTool.getBoolValue(dic, key); break; case "materialData": { object obj = MyJsonTool.getValue(dic, key); materialData.DeSerialize(obj as Dictionary <string, object>); } break; case "tBaseboard": { object obj = MyJsonTool.getValue(dic, key); tBaseboard.DeSerialize(obj as Dictionary <string, object>); } break; default: break; } } }
public List <AttributesValue> values; //Product- internal void Deserialize(Dictionary <string, object> dic) { foreach (string key in dic.Keys) { switch (key) { case "free": free = MyJsonTool.getStringListValue(dic, key); break; case "id": id = MyJsonTool.getStringValue(dic, key); break; case "name": name = MyJsonTool.getStringValue(dic, key); break; case "values": { object obj = MyJsonTool.getValue(dic, key); if (obj == null) { values = null; } else { values = new List <AttributesValue>(); List <object> list = obj as List <object>; for (int i = 0; i < list.Count; i++) { AttributesValue value = new AttributesValue(); value.Deserialize(list[i] as Dictionary <string, object>); values.Add(value); } } } break; default: Debug.LogError("Json " + this.GetType().Name + " 里的 key = " + key + " 未实现!"); break; } } }
public virtual void Deserialize(Dictionary <string, object> dic) { foreach (string key in dic.Keys) { switch (key) { case "code": code = MyJsonTool.getStringValue(dic, key); break; case "info": object value = MyJsonTool.getValue(dic, key); info = new InfoFromIOS(); info.Deserialize(value as Dictionary <string, object>); break; default: Debug.LogError("Json " + this.GetType().Name + " 里的 key = " + key + " 未实现!"); break; } } }
public void Deserialize(Dictionary <string, object> dic) { foreach (string key in dic.Keys) { switch (key) { case "name": name = MyJsonTool.getStringValue(dic, key); break; case "describe": describe = MyJsonTool.getStringValue(dic, key); break; case "priceList": { object obj = MyJsonTool.getValue(dic, key); if (obj == null) { priceList = null; break; } priceList = new List <ItemData>(); List <object> arr = obj as List <object>; for (int i = 0; i < arr.Count; i++) { ItemPrice data = new ItemPrice(); data.Deserialize(arr[i] as Dictionary <string, object>); priceList.Add(data); } } break; case "targetServerId": targetServerId = MyJsonTool.getStringValue(dic, key); break; case "targetTempId": targetTempId = MyJsonTool.getIntValue(dic, key); break; case "serverId": serverId = MyJsonTool.getStringValue(dic, key); break; case "tempId": tempId = MyJsonTool.getIntValue(dic, key); break; case "isSetMainOffer": isSetMainOffer = MyJsonTool.getBoolValue(dic, key); break; case "isNew": isNew = MyJsonTool.getBoolValue(dic, key); break; default: break; } } }
public void DeSerialize(Dictionary <string, object> dic) { if (dic == null) { Debug.LogWarning("RoomData DeSerialize(dic == null)"); return; } sideListGuids = new List <int>(); pointListGuids = new List <int>(); foreach (string key in dic.Keys) { switch (key) { case "guid": guid = MyJsonTool.getIntValue(dic, key); break; case "id": id = MyJsonTool.getIntValue(dic, key); break; case "hide": hide = MyJsonTool.getBoolValue(dic, key); break; case "name": name = MyJsonTool.getStringValue(dic, key); break; case "type": type = MyJsonTool.getStringValue(dic, key); break; case "ceilingHeight": ceilingHeight = MyJsonTool.getFloatValue(dic, key); break; case "ceiling": { object obj = MyJsonTool.getValue(dic, key); ceiling.DeSerialize(obj as Dictionary <string, object>); } break; case "floor": { object obj = MyJsonTool.getValue(dic, key); floor.DeSerialize(obj as Dictionary <string, object>); } break; case "sideListGuids": { object obj = MyJsonTool.getValue(dic, key); if (obj == null) { break; } List <object> list = obj as List <object>; for (int i = 0; i < list.Count; i++) { int Guid = int.Parse(list[i].ToString()); sideListGuids.Add(Guid); } } break; case "pointListGuids": { object obj = MyJsonTool.getValue(dic, key); if (obj == null) { break; } List <object> list = obj as List <object>; for (int i = 0; i < list.Count; i++) { int Guid = int.Parse(list[i].ToString()); pointListGuids.Add(Guid); } } break; default: break; } } }
//public void WriteToProduct(JsonProduct product) //{ // product.id = id; // product.seekId = model.id; // product.thumbnail = model.vendorUrl; // product.size = model.getSize; // product.productType = model.productType; // product.images = model.images; // product.imagesResize = model.imagesResize; // product.categories = model.categories; // product.families = model.families; // product.v = model.vendor; // product.vu = model.vendorUrl; // product.status = model.status; // //亚马逊 // string top = model.top;//"http://midea-prod-assets.s3.cn-north-1.amazonaws.com.cn/i/7e3e90d9-da17-459d-b7ed-14e681519d6a/Top.png";// // //top = top.Replace("midea-prod-assets.s3.cn-north-1.amazonaws.com.cn/i/", "pms.3dshome.net/"); // product.top = top; // //阿里云 // string path = model.model.modelUrl;//"4abd1bba-6d61-481e-9008-25295599e006" // path = path.Replace("-fc.gz", ".assetbundle"); // path = path.Replace("midea-prod-assets.s3.cn-north-1.amazonaws.com.cn/i/", "midea-products.oss-cn-shanghai.aliyuncs.com/"); // path = path.Replace(".gz.bobj", ".assetbundle"); // path = path.Replace("hsm-prod-assets.s3.amazonaws.com/i/", "midea-products.oss-cn-shanghai.aliyuncs.com/"); // product.model3d = path;//"http://midea-products.oss-cn-shanghai.aliyuncs.com/7e3e90d9-da17-459d-b7ed-14e681519d6a/model.assetbundle";//path//; // product.modelTexture = model.model.textureUrl;//.Replace("midea-prod-assets.s3.cn-north-1.amazonaws.com.cn/", "midea-products.oss-cn-shanghai.aliyuncs.com/"); // product.entityType = model.tp; // //product.components = model.components; // //product.isScalable = model.isScalable; // //product.variations = model.variations; // //product.variationId = model.variationId; // //product.defaultHeight = model.defaultHeight; // //product.unit = model.unit; // //product.contentType = model.contentType; // //product.entityType = model.entityType; // //product.productURL = model.productURL; // if (model.attributes != null) // { // for (int i = 0; i < model.attributes.Count; i++) // { // Product.Attributes1 attributes1 = model.attributes[i]; // if (attributes1.name == "ContentType" && attributes1.values.Count > 0) // { // product.contentType = attributes1.values[0].value; // } // } // if (product.contentType.StartsWith("window/") == true) product.defaultHeight = 1;//2;// // } // else // { // } // product.name = model.name; // product.retailers = model.retailers; // product.modifiedTime = model.modifiedTime; // product.ticket = model.ticket; // product.groups = model.groups; // product.zIndex = model.zIndex; // product.tileSize = model.tileSize; // product.attributes = model.attributes; // product.variations = model.variations; //} public void DeSerialize(Dictionary <string, object> dic) { foreach (string key in dic.Keys) { switch (key) { case "retailers": retailers = MyJsonTool.getStringListValue(dic, key); break; case "boundingBox": { boundingBox = new BoundingBox(); object obj = MyJsonTool.getValue(dic, key); boundingBox.Deserialize(obj as Dictionary <string, object>); } break; case "modifiedTime": modifiedTime = MyJsonTool.getStringValue(dic, key); break; case "vendorUrl": vendorUrl = MyJsonTool.getStringValue(dic, key); break; case "images": images = MyJsonTool.getStringListValue(dic, key); break; case "imagesResize": imagesResize = MyJsonTool.getStringListValue(dic, key); break; case "ticket": { object obj = MyJsonTool.getValue(dic, key); if (obj == null) { ticket = null; } else { ticket = new Ticket(); ticket.Deserialize(obj as Dictionary <string, object>); } } break; case "groups": groups = MyJsonTool.getStringListValue(dic, key); break; case "families": families = MyJsonTool.getStringListValue(dic, key); break; case "top": top = MyJsonTool.getStringValue(dic, key); break; case "vendor": vendor = MyJsonTool.getStringValue(dic, key); break; case "name": name = MyJsonTool.getStringValue(dic, key); break; case "model": { object obj = MyJsonTool.getValue(dic, key); model = new GoodsURL(); model.Deserialize(obj as Dictionary <string, object>); } break; case "status": status = MyJsonTool.getIntValue(dic, key); break; case "productType": productType = MyJsonTool.getStringValue(dic, key); break; case "id": id = MyJsonTool.getStringValue(dic, key); break; case "tp": tp = MyJsonTool.getStringValue(dic, key); break; case "zIndex": zIndex = MyJsonTool.getStringValue(dic, key); break; case "tileSize": tileSize = MyJsonTool.getStringValue(dic, key); break; case "attributes": { object obj = MyJsonTool.getValue(dic, key); attributes = new List <Attributes1>(); List <object> list = obj as List <object>; for (int i = 0; i < list.Count; i++) { Attributes1 attribute = new Attributes1(); attribute.Deserialize(list[i] as Dictionary <string, object>); attributes.Add(attribute); } } break; case "categories": categories = MyJsonTool.getStringListValue(dic, key); break; case "variations": variations = MyJsonTool.getStringListValue(dic, key); break; default: Debug.LogError("Json " + this.GetType().Name + " 里的 key = " + key + " 未实现!"); break; } } }
public void DeSerialize(Dictionary <string, object> dic) { if (dic == null) { Debug.LogError("OriginalProjectData dic.DeSerialize(dic), dic = null"); return; } data = new OriginalInputData(); version = new MyTimeData(); foreach (string key in dic.Keys) { switch (key) { case "id": id = MyJsonTool.getStringValue(dic, key); break; case "meta": meta = MyJsonTool.getStringValue(dic, key); break; case "data": { object obj = MyJsonTool.getValue(dic, key); data.isOld = false; if (dic.ContainsKey("version") == false) { data.isOld = true; } data.DeSerialize(obj as Dictionary <string, object>); } break; case "name": name = MyJsonTool.getStringValue(dic, key); break; case "description": description = MyJsonTool.getStringValue(dic, key); break; case "priceIdList": priceIdList = MyJsonTool.getStringListValue(dic, key); break; case "tempId": tempId = MyJsonTool.getIntValue(dic, key); break; case "idNew": isNew = MyJsonTool.getBoolValue(dic, key); //isNew = false; break; case "version": { object obj = MyJsonTool.getValue(dic, key); version.DeSerialize(obj as Dictionary <string, object>); //isNew = false; } break; default: break; } } }
public void DeSerialize(Dictionary<string, object> dic) { pointList.Clear(); wallList.Clear(); productDataList.Clear(); roomList.Clear(); productList = new List<Product>(); preScanDatas.Clear(); foreach (string key in dic.Keys) { switch (key) { case "pointList": { object obj = MyJsonTool.getValue(dic, key); List<object> list = obj as List<object>; for (int i = 0; i < list.Count; i++) { Point point = new Point(); point.DeSerialize(list[i] as Dictionary<string, object>); pointList.Add(point); } } break; case "wallList": { object obj = MyJsonTool.getValue(dic, key); List<object> list = obj as List<object>; for (int i = 0; i < list.Count; i++) { WallData wall = new WallData(); wall.DeSerialize(list[i] as Dictionary<string, object>); wallList.Add(wall); } } break; case "productDataList": { object obj = MyJsonTool.getValue(dic, key); List<object> list = obj as List<object>; for (int i = 0; i < list.Count; i++) { ProductData productdata = new ProductData(); productdata.DeSerialize(list[i] as Dictionary<string, object>); productDataList.Add(productdata); } } break; case "roomList": { object obj = MyJsonTool.getValue(dic, key); List<object> list = obj as List<object>; for (int i = 0; i < list.Count; i++) { RoomData room = new RoomData(); room.DeSerialize(list[i] as Dictionary<string, object>); roomList.Add(room); } } break; case "productList": { object obj = MyJsonTool.getValue(dic, key); if (obj == null) { productList = null; break; } List<object> list = obj as List<object>; for (int i = 0; i < list.Count; i++) { Product product = new Product(); if (isOld) { JsonProduct jsonData = new JsonProduct(); jsonData.DeSerialize(list[i] as Dictionary<string, object>); jsonData.WriteToData(product); } else { product.DeSerialize(list[i] as Dictionary<string, object>); } productList.Add(product); //if(product) } } break; case "defaultsettings": { object obj = MyJsonTool.getValue(dic, key); defaultsettings.DeSerialize(obj as Dictionary<string, object>); } break; case "maxAngleRooms": { object obj = MyJsonTool.getValue(dic, key); List<object> list = obj as List<object>; for (int i = 0; i < list.Count; i++) { RoomData room = new RoomData(); room.DeSerialize(list[i] as Dictionary<string, object>); maxAngleRooms.Add(room); } } break; case "preScanDatas": { object obj = MyJsonTool.getValue(dic, key); List<object> list = obj as List<object>; for (int i = 0; i < list.Count; i++) { PreScanData prescan = new PreScanData(); prescan.DeSerialize(list[i] as Dictionary<string, object>); preScanDatas.Add(prescan); } } break; default: break; } } //恢复关联 Dictionary<int, Point> pointDic = new Dictionary<int, Point>(); Dictionary<int, WallData> wallDic = new Dictionary<int, WallData>(); Dictionary<int, WallSideData> tempSideDic = new Dictionary<int, WallSideData>(); for (int i = 0; i < pointList.Count; i++) { pointDic.Add(pointList[i].guid, pointList[i]); } for (int i = 0; i < wallList.Count; i++) { wallDic.Add(wallList[i].guid, wallList[i]); WallData wall = wallList[i]; if (pointDic.ContainsKey(wall.point1Guid) == false) { Debug.LogError("wall.point1Guid = "+ wall.point1Guid + "对应的Point不存在"); } else { wall.point1 = pointDic[wall.point1Guid]; } if (pointDic.ContainsKey(wall.point2Guid) == false) { Debug.LogError("wall.point2Guid = " + wall.point2Guid + "对应的Point不存在"); } else { wall.point2 = pointDic[wall.point2Guid]; } wall.point1To2Data.targetWall = wall; wall.point2To1Data.targetWall = wall; tempSideDic.Add(wall.point1To2Data.guid, wall.point1To2Data); tempSideDic.Add(wall.point2To1Data.guid, wall.point2To1Data); } for (int i = 0; i < productDataList.Count; i++) { ProductData productData = productDataList[i]; if (productData.targetWallGuid != -1) { if (wallDic.ContainsKey(productData.targetWallGuid)) { productData.targetWall = wallDic[productData.targetWallGuid]; } else { Debug.LogError("productData.targetWallGuid = "+ productData.targetWallGuid + "对应的Wall不存在"); productData.targetWall = null; } } else { productData.targetWall = null; } } for (int i = 0; i < roomList.Count; i++) { RoomData room = roomList[i]; for (int k = 0; k < room.sideListGuids.Count; k++) { if (tempSideDic.ContainsKey(room.sideListGuids[k]) == false) { Debug.LogError("room.sideListGuids[k] = " + room.sideListGuids[k] + "对应的WallSideData不存在"); continue; } room.sideList.Add(tempSideDic[room.sideListGuids[k]]); } room.pointList = new List<Point>(); for (int k = 0; k < room.pointListGuids.Count; k++) { if (pointDic.ContainsKey(room.pointListGuids[k]) == false) { Debug.LogError("room.pointListGuids[k] = " + room.pointListGuids[k] + "对应的Point不存在"); continue; } room.pointList.Add(pointDic[room.pointListGuids[k]]); } } for (int i = 0; i < maxAngleRooms.Count; i++) { RoomData room = maxAngleRooms[i]; for (int k = 0; k < room.sideListGuids.Count; k++) { if (tempSideDic.ContainsKey(room.sideListGuids[k]) == false) { Debug.LogError("room.sideListGuids[k] = " + room.sideListGuids[k] + "对应的WallSideData不存在"); continue; } room.sideList.Add(tempSideDic[room.sideListGuids[k]]); } room.pointList = new List<Point>(); for (int k = 0; k < room.pointListGuids.Count; k++) { if (pointDic.ContainsKey(room.pointListGuids[k]) == false) { Debug.LogError("room.pointListGuids[k] = " + room.pointListGuids[k] + "对应的Point不存在"); continue; } room.pointList.Add(pointDic[room.pointListGuids[k]]); } } MainPageUIData.Instance.productDic.Clear(); MainPageUIData.Instance.GoodsDic.Clear(); if (productList != null) { for (int i = 0; i < productList.Count; i++) { MainPageUIData.Instance.AddProduct(productList[i]); } } }