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("完成检查");
|
}
|
};
|
|
|
}
|
|
|
}
|