少年修仙传客户端基础资源
hch
2024-07-28 69edcea21f9eecd9b1afe72ddb00fd94a99959f2
0312 检查scrollrect没有canvasrender会报错问题(升级引擎后)
2个文件已添加
76 ■■■■■ 已修改文件
Assets/Editor/Tool/CheckScrollRect.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/CheckScrollRect.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Assets/Editor/Tool/CheckScrollRect.cs
New file
@@ -0,0 +1,65 @@
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("完成检查");
            }
        };
    }
}
Assets/Editor/Tool/CheckScrollRect.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ac7aaa75a8909054aa6fe8266f64ab3c
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant: