New file |
| | |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using UnityEngine; |
| | | using UnityEditor; |
| | | using System.IO; |
| | | using UnityEngine.UI; |
| | | using vnxbqy.UI; |
| | | using EnhancedUI.EnhancedScroller; |
| | | |
| | | |
| | | public class CheckScrollRect : EditorWindow { |
| | | |
| | | private static string topFilePath=Application.dataPath + "/ResourcesOut/UI"; |
| | | |
| | | |
| | | [MenuItem("策划工具/检查ScrollRec", false)] |
| | | private static void Export() |
| | | { |
| | | |
| | | string[] filepaths1 = Directory.GetFiles(topFilePath, "*.prefab", SearchOption.AllDirectories); |
| | | |
| | | topFilePath = Application.dataPath + "/ResourcesOut/BuiltIn"; |
| | | |
| | | string[] filepaths2 = Directory.GetFiles(topFilePath, "*.prefab", SearchOption.AllDirectories);
|
| | |
|
| | | string[] filepaths = new string[filepaths1.Length + filepaths2.Length]; |
| | | |
| | | filepaths1.CopyTo(filepaths, 0); |
| | | filepaths2.CopyTo(filepaths, filepaths1.Length); |
| | | Debug.LogFormat("检查预制体总数:{0}", filepaths.Length); |
| | | int startIndex = 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); |
| | | |
| | | ScrollRect[] transArr14 = _prefab.GetComponentsInChildren<ScrollRect>(true); |
| | | foreach (ScrollRect item in transArr14) |
| | | { |
| | | var cr = item.GetComponent<CanvasRenderer>(); |
| | | var sc = item.GetComponent<ScrollerController>(); |
| | | var ec = item.GetComponent<EnhancedScroller>(); |
| | | if (cr == null && sc == null && ec == null)
|
| | | {
|
| | | Debug.LogError("需处理" + file); |
| | | } |
| | | |
| | | } |
| | | startIndex++; |
| | | |
| | | if (isCancel || startIndex >= filepaths.Length) { |
| | | EditorUtility.ClearProgressBar(); |
| | | EditorApplication.update = null; |
| | | startIndex = 0; |
| | | Debug.Log("完成检查"); |
| | | } |
| | | }; |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | } |