zoukankan      html  css  js  c++  java
  • Unity- 小“东西”

    菜单栏遍历处理预制体工具

    
        public class GameEditor : Editor
        {
    
            private static void ProcessPrefabs(Action<GameObject> doProcess)
            {
                List<GameObject> prefabs = new List<GameObject>();
                var resourcesPath = Application.dataPath;
                var absolutePaths = System.IO.Directory.GetFiles(resourcesPath, "*.prefab", System.IO.SearchOption.AllDirectories);
                for (int i = 0; i < absolutePaths.Length; i++)
                {
                    EditorUtility.DisplayProgressBar("获取预制体……", "获取预制体中……", (float)i / absolutePaths.Length);
    
                    string path = "Assets" + absolutePaths[i].Remove(0, resourcesPath.Length);
                    path = path.Replace("\", "/");
                    GameObject prefab = AssetDatabase.LoadAssetAtPath(path, typeof(GameObject)) as GameObject;
                    if (prefab != null)
                    {
                        prefabs.Add(prefab);
                        doProcess(prefab);
                    }
                    else
                        Debug.Log("预制体不存在! " + path);
                }
                EditorUtility.ClearProgressBar(); 
            }
            [MenuItem("遍历文件夹预制体并处理")]
            static void ProcessPrefabs()
            {
                bool isDirty =false;
                ProcessPrefabs((prefab) =>
                {
                    prefab.AddComponent<Animation>();
                    EditorUtility.SetDirty(prefab);
                    isDirty = true;
                });
                if(isDirty)
                 AssetDatabase.SaveAssets();
                EditorUtility.DisplayDialog("tips", "完成了", "确定");
            }
             
        }
    
  • 相关阅读:
    猫树
    单位根反演
    区间修改区间求和
    最远点 决策单调性
    圆方树
    912. 排序数组
    1309. 解码字母到整数映射
    28. 实现 strStr()
    31. 下一个排列
    22. 括号生成
  • 原文地址:https://www.cnblogs.com/Jaysonhome/p/12932234.html
Copyright © 2011-2022 走看看