public SimpleCacheLoader cacheLoad(string id, SimpleLoadDataType type, Action <object> onloaded, object bringdata = null) { SimpleCacheLoader loader; loader = new SimpleCacheLoader(id, type, onloaded, bringdata); loader.Load(); return(loader); }
private void OnPriceLoaded(object obj) { SimpleCacheLoader loader = obj as SimpleCacheLoader; if (loader.state == SimpleLoadedState.Failed) { //Debug.LogError(loader.uri); return; } string json = loader.loadedData.ToString(); object jsonObj = MyJsonTool.FromJson(json); PriceData priceData = new PriceData(); priceData.Deserialize(jsonObj as Dictionary <string, object>); mainpageData.AddPriceData(priceData); }
private void OnCacheLoaded(object obj) { SimpleCacheLoader loader = obj as SimpleCacheLoader; if (loader.state == SimpleLoadedState.Failed) { //Debug.LogError(loader.uri); return; } string json = loader.loadedData.ToString(); object jsonData = MyJsonTool.FromJson(json); MsgFromIOS.InfoFromIOS info = loader.bringData as MsgFromIOS.InfoFromIOS; OriginalProjectData data = new OriginalProjectData(); Dictionary <string, object> dic = jsonData as Dictionary <string, object>; ///在线端数据 if (dic.ContainsKey("products")) { //data.DeSerialize(dic); } ///移动端新数据 else if (dic.ContainsKey("version")) { data.DeSerialize(dic); } ///移动端旧数据 或 错误数据 else { data.DeSerialize(dic); } data.tempEffectMetas.Clear(); List <object> matelist = info.msg as List <object>; for (int i = 0; i < matelist.Count; i++) { data.tempEffectMetas.Add(matelist[i].ToString()); } switch (info.enterType) { case "4": case "5": data.isNew = true; data.id = ""; data.templateId = info.projectId; data.tempId = jsonCacheManager.GetNewSchemeTempId(); //放到队列加载后 //undoHelper.SetCurrentData(data); break; default: data.id = info.projectId; data.tempId = info.tempId; data.isNew = false; //放到队列加载后 //undoHelper.SetCurrentData(data, false); break; } switch (info.enterType) { case "3": case "5": mainpageMachine.setState(ToThreeDState.Name); break; default: mainpageMachine.setState(ToTwoDState.Name); break; } float minX = 0; float maxX = 0; float minY = 0; float maxY = 0; for (int i = 0; i < data.data.pointList.Count; i++) { Vector2 v2 = data.data.pointList[i].pos; if (v2.x < minX) { minX = v2.x; } if (v2.x > maxX) { maxX = v2.x; } if (v2.y < minY) { minY = v2.y; } if (v2.y > maxY) { maxY = v2.y; } } Vector2 pos = Vector2.zero; pos.x = (minX + maxX) / 2; pos.y = (minY + maxY) / 2; CameraControler.Instance.ResetAllCamera(pos); QueueSimpleLoader queueloader = new QueueSimpleLoader(new object[] { info.enterType, data }); for (int i = 0; i < data.data.productList.Count; i++) { Product product = data.data.productList[i]; if (product.productType == "FloorTiles" || product.productType == "Wallpapers") { if (product.modelTexture.IndexOf("http://") == -1) { continue; } SimpleOutterLoader outLoader = LoaderPool.WaitOutterLoad(product.modelTexture, SimpleLoadDataType.texture2D, null, null); queueloader.AddQueueItem(outLoader); } else { switch (info.enterType) { case "3": case "5": { if (product.assetBundlePath.IndexOf("http://") == -1) { if (product.assetBundlePath.IndexOf("3D/") != 0 && product.modelTexture.IndexOf("3D/") != 0) { Debug.LogErrorFormat("路径有误:seekid = {0} product.model3d = {1}", product.seekId, product.assetBundlePath); } continue; } SimpleOutterLoader outLoader = LoaderPool.WaitOutterLoad(product.assetBundlePath, SimpleLoadDataType.prefabAssetBundle, null, product, onloadedBforClone); queueloader.AddQueueItem(outLoader); } break; default: { if (product.assetBundlePath.IndexOf("http://") == -1) { if (product.assetBundlePath.IndexOf("3D/prefab") != 0) { Debug.LogError("路径有误:" + product.assetBundlePath); } continue; } SimpleOutterLoader outLoader = LoaderPool.WaitOutterLoad(product.assetBundlePath, SimpleLoadDataType.prefabAssetBundle, null, product, onloadedBforClone); queueloader.AddQueueItem(outLoader); } break; } } } if (queueloader.getCount != 0) { queueloader.addEventListener(LoadEvent.QueueProgress, OnAllProductProgress); queueloader.addEventListener(LoadEvent.QueueComplete, OnLoadedAllProductCache); } else { mainPageUIController.dispatchEvent(new LoadEvent(LoadEvent.CloseLoadingPage)); switch (info.enterType) { case "4": case "5": data.isTemplate = true; undoHelper.SetCurrentData(data); break; default: undoHelper.SetCurrentData(data, false); break; } } }