| | |
| | | { |
| | | Change(); |
| | | } |
| | | if (GUILayout.Button("检测字体和自适应的关系")) |
| | | { |
| | | FindSmallRect(); |
| | | } |
| | | } |
| | | |
| | | |
| | | public static void FindSmallRect() |
| | | { |
| | | string topFilePath = Application.dataPath + "/ResourcesOut/UI"; |
| | | |
| | | |
| | | string[] filepaths1 = Directory.GetFiles(topFilePath, "*.prefab", SearchOption.AllDirectories); |
| | | topFilePath = Application.dataPath + "/ResourcesOut/BuiltIn"; |
| | | string[] filepaths2 = Directory.GetFiles(topFilePath, "*.prefab", SearchOption.AllDirectories); |
| | | topFilePath = Application.dataPath + "/ResourcesOut/UIComp"; |
| | | string[] filepaths3 = Directory.GetFiles(topFilePath, "*.prefab", SearchOption.AllDirectories); |
| | | |
| | | string[] filepaths = new string[filepaths1.Length + filepaths2.Length + filepaths3.Length]; |
| | | |
| | | filepaths1.CopyTo(filepaths, 0); |
| | | filepaths2.CopyTo(filepaths, filepaths1.Length); |
| | | filepaths3.CopyTo(filepaths, filepaths1.Length + filepaths2.Length); |
| | | Debug.LogFormat("预修改预制体字体总数:{0}", filepaths.Length); |
| | | int startIndex = 0; //文件执行个数 |
| | | |
| | | int a = 0; // 总字体数 |
| | | EditorApplication.update = delegate () |
| | | { |
| | | string file = filepaths[startIndex]; |
| | | file = file.Substring(file.IndexOf("Assets")); |
| | | bool isCancel = EditorUtility.DisplayCancelableProgressBar("预制体文字-" + filepaths.Length, file, (float)startIndex / (float)filepaths.Length); |
| | | GameObject _prefab = AssetDatabase.LoadAssetAtPath<GameObject>(file); |
| | | |
| | | Text[] transArr14 = _prefab.GetComponentsInChildren<Text>(true); |
| | | a += transArr14.Length; |
| | | |
| | | foreach (Text item in transArr14) |
| | | { |
| | | if (item.verticalOverflow == VerticalWrapMode.Overflow || item.horizontalOverflow == HorizontalWrapMode.Overflow) |
| | | { |
| | | var target = item.GetComponent<ContentSizeFitter>(); |
| | | if (target != null) |
| | | { |
| | | Debug.LogErrorFormat("存在overflwer和ContentSizeFitter 冲突的预制体 {0} - {1}", file, item.name); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | startIndex++; |
| | | |
| | | if (isCancel || startIndex >= filepaths.Length) |
| | | { |
| | | Debug.LogFormat("检测字体和自适应的关系--检索{0}个预制体, 字体总个数{1}", startIndex, a); |
| | | EditorUtility.ClearProgressBar(); |
| | | EditorApplication.update = null; |
| | | startIndex = 0; |
| | | AssetDatabase.SaveAssets(); |
| | | AssetDatabase.Refresh(); |
| | | } |
| | | }; |
| | | } |
| | | |
| | | public static void Change() |
| | | { |
| | | |
| | | string topFilePath=Application.dataPath + "/ResourcesOut/UI"; |
| | | string topFilePath = Application.dataPath + "/ResourcesOut/UI"; |
| | | |
| | | |
| | | string[] filepaths1 = Directory.GetFiles(topFilePath, "*.prefab", SearchOption.AllDirectories); |
| | |
| | | |
| | | int a = 0; // 总字体数 |
| | | int i = 0; // 更换字体数 |
| | | EditorApplication.update = delegate () { |
| | | EditorApplication.update = delegate () |
| | | { |
| | | string file = filepaths[startIndex]; |
| | | file = file.Substring(file.IndexOf("Assets")); |
| | | bool isCancel = EditorUtility.DisplayCancelableProgressBar("预制体文字-"+filepaths.Length, file, (float)startIndex / (float)filepaths.Length); |
| | | bool isCancel = EditorUtility.DisplayCancelableProgressBar("预制体文字-" + filepaths.Length, file, (float)startIndex / (float)filepaths.Length); |
| | | GameObject _prefab = AssetDatabase.LoadAssetAtPath<GameObject>(file); |
| | | |
| | | Text[] transArr14 = _prefab.GetComponentsInChildren<Text>(true); |
| | |
| | | |
| | | } |
| | | if (change) |
| | | { |
| | | { |
| | | EditorUtility.SetDirty(_prefab); |
| | | Debug.LogFormat("界面 {0} 字体大小修改成功", file); |
| | | i++; |
| | | } |
| | | |
| | | startIndex++; |
| | | |
| | | if (isCancel || startIndex >= filepaths.Length) { |
| | | |
| | | if (isCancel || startIndex >= filepaths.Length) |
| | | { |
| | | Debug.LogFormat("字体批量修改成功--检索{0}个预制体, 字体总个数{1},修改{2}", startIndex, a, i); |
| | | EditorUtility.ClearProgressBar(); |
| | | EditorApplication.update = null; |