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); }
public static void CreateServerSceneData() { string path = Application.dataPath + "/Res/SceneConfig/"; SceneDataJson serverJson = new SceneDataJson(); //服务端数据 serverJson.sceneDatas = new List <SceneItemServerJson>(); GetData(path, serverJson); //服务端数据 string serverJsonStr = fastJSON.JSON.ToJSON(serverJson); SceneLightHelper.CreateServerJson("../config/scenedata.json", serverJsonStr); }
public void LoadSceneData() { if (sceneData != null) { return; } StreamReader reader = new StreamReader(ResourceData.sceneDataConfigPath); string content = reader.ReadToEnd(); reader.Close(); sceneData = fastJSON.JSON.ToObject <SceneDataJson>(content); }
SceneDataJson getServerData() { string serverPath = Application.streamingAssetsPath + "/SceneData/scenedata.json"; if (!File.Exists(serverPath)) { return(new SceneDataJson()); } StreamReader reader = new StreamReader(serverPath); string datastr = reader.ReadToEnd(); reader.Close(); SceneDataJson serverJson = fastJSON.JSON.ToObject <SceneDataJson>(datastr); return(serverJson); }