public static void Refresh() { if (loaclFileresInfo != null) { resInfo = JsonUtility.FromJson <ResJsonData>(JsonUtility.ToJson(loaclFileresInfo)); } }
/// <summary> /// 重新查找所有资源 /// </summary> public static void Rebuild() { if (File.Exists(ResConfig.ResJsonCfgFilePath)) { string json = File.ReadAllText(ResConfig.ResJsonCfgFilePath); if (!string.IsNullOrEmpty(json)) { loaclFileresInfo = JsonUtility.FromJson <ResJsonData>(json); } else { resInfo = new ResJsonData(); } Refresh(); } else { resInfo = new ResJsonData(); } }
public static bool Update() { bool ret = false; if (resInfo == null) { return(ret); } if (loaclFileresInfo == null || loaclFileresInfo.groups.Count != resInfo.groups.Count || loaclFileresInfo.resources.Count != resInfo.resources.Count) { ret = true; } else { if (loaclFileresInfo == null || loaclFileresInfo.groups.Count == resInfo.groups.Count) { foreach (ResGroupCfg da in loaclFileresInfo.groups) { bool flag = false; foreach (ResGroupCfg da2 in resInfo.groups) { if (da.groupName == da2.groupName && !ListIsSame(da.keys, da2.keys)) { flag = true; break; } } if (flag) { ret = true; break; } } if (!ListIsSame(loaclFileresInfo.groups, resInfo.groups)) { ret = true; } } if (loaclFileresInfo == null || loaclFileresInfo.resources.Count == resInfo.resources.Count) { foreach (ResInfoData da in loaclFileresInfo.resources) { ResInfoData da2 = resInfo.GetResInfo(da.address); if (da2 == null || da.IsDirty(da2)) { ret = true; break; } } } } if (!ret) { return(false); } string jsonStr = JsonUtility.ToJson(resInfo, true); loaclFileresInfo = JsonUtility.FromJson <ResJsonData>(jsonStr); if (!System.IO.Directory.Exists(Path.GetDirectoryName(ResConfig.ResJsonCfgFilePath))) { System.IO.Directory.CreateDirectory(Path.GetDirectoryName(ResConfig.ResJsonCfgFilePath)); } File.WriteAllText(ResConfig.ResJsonCfgFilePath, jsonStr); UnityEditor.AssetDatabase.SaveAssets(); UnityEditor.AssetDatabase.Refresh(); return(true); }