private static void GetData(string path, SceneDataJson serverJson) { string[] dirs = Directory.GetDirectories(path); for (int i = 0; i < dirs.Length; i++) { GetData(dirs[i], serverJson); } string[] files = Directory.GetFiles(path); for (int i = 0; i < files.Length; i++) { if (!files[i].Contains(".json") || files[i].Contains("meta")) { continue; } FileInfo fileinfo = new FileInfo(files[i]); StreamReader reader = new StreamReader(files[i]); string jsonStr = reader.ReadToEnd(); reader.Close(); SceneItemJson groupData = fastJSON.JSON.ToObject <SceneItemJson>(jsonStr); string fileName = fileinfo.Name.Replace(".json", ""); long groupID = -1; long.TryParse(fileName, out groupID); if (groupID > 0) { SceneItemServerJson itemServerJson = new SceneItemServerJson(groupData); itemServerJson.groupId = groupID; serverJson.sceneDatas.Add(itemServerJson); } } }
/// <summary> /// 保存位置数据 /// </summary> void SaveJsonData() { if (!Directory.Exists(jsonPath)) { Directory.CreateDirectory(jsonPath); } ///获取服务端数据 //SceneItemServerJson serverJson = fastJSON.JSON.ToObject<SceneItemServerJson>(); SceneDataJson serverJson = getServerData(); if (serverJson == null) { serverJson = new SceneDataJson(); //服务端数据 serverJson.sceneDatas = new List <SceneItemServerJson>(); } //SceneDataJson sceneDataJson = new SceneDataJson(); //服务端数据 //sceneDataJson.sceneDatas = new List<SceneItemServerJson>(); for (int i = 0; i < m_allItemInfo.Count; i++) { SceneItemInfo scenePageData = m_allItemInfo[i];//AssetDatabase.LoadAssetAtPath<SceneItemInfo>(m_allAssetPath[i]); if (scenePageData != null) { SceneItemJson itemJson = new SceneItemJson(scenePageData); //sceneDataJson.sceneDatas.Add(itemJson); string jsonStr = fastJSON.JSON.ToJSON(itemJson); SceneLightHelper.CreateJson(jsonPath + scenePageData.jsonName, jsonStr); int groupID = int.Parse(scenePageData.jsonName.Split('.')[0]); SceneItemServerJson itemServerJson = new SceneItemServerJson(scenePageData); itemServerJson.groupId = groupID; //sceneDataJson.sceneDatas.Add(itemServerJson); bool isexist = false; for (int j = 0; j < serverJson.sceneDatas.Count; j++) { SceneItemServerJson serverJson00 = serverJson.sceneDatas[j]; if (serverJson00.groupId == groupID) { serverJson.sceneDatas[j] = itemServerJson; isexist = true; break; } } if (!isexist) { serverJson.sceneDatas.Add(itemServerJson); } } } //服务端数据 string serverJsonStr = fastJSON.JSON.ToJSON(serverJson); SceneLightHelper.CreateJson(Application.streamingAssetsPath + "/SceneData/scenedata.json", serverJsonStr); }
private bool CheckSceneData(BaseItem baseItem) { for (int j = 0; j < sceneData.sceneDatas.Count; j++) { SceneItemServerJson itemserver = sceneData.sceneDatas[j]; for (int m = 0; m < itemserver.items.Count; m++) { if (baseItem.id == itemserver.items[m].itemID) { return(true); } } } return(false); }
private void GetExhibit() { m_scene.Clear(); long exhibitID = long.Parse(exhibitIDStr); for (int i = 0; i < sceneData.sceneDatas.Count; i++) { SceneItemServerJson itemDatas = sceneData.sceneDatas[i]; for (int j = 0; j < itemDatas.items.Count; j++) { if (itemDatas.items[j].itemID == exhibitID) { GetSceneForGroupID(itemDatas.groupId); } } } }