コード例 #1
0
        private void CreateActor(FileInfo fileInfo)
        {
            string path = fileInfo.FullName;

            path = XXToolsEdUtil.ProjectRelativePath(path);
            GameObject go = AssetDatabase.LoadAssetAtPath(path, typeof(GameObject)) as GameObject;

            if (go == null)
            {
                return;
            }
            CreateActor(go);
            EditorUtility.UnloadUnusedAssetsImmediate();
        }
コード例 #2
0
ファイル: SystemEditor.cs プロジェクト: neilyodamp/UnityTool
        private void LoadAC()
        {
            string        pathFolder = ed.db.name2Paths[0].path + "Component/";
            DirectoryInfo dirInfo    = new DirectoryInfo(pathFolder);

            FileInfo[]        fileInfos = dirInfo.GetFiles("*.fbx");
            List <GameObject> gos       = new List <GameObject>();

            foreach (FileInfo fileInfo in fileInfos)
            {
                string     path = XXToolsEdUtil.ProjectRelativePath(fileInfo.FullName);
                GameObject go   = AssetDatabase.LoadAssetAtPath(path, typeof(GameObject)) as GameObject;
                string     name = go.name;
                go = PrefabUtility.CreatePrefab(XXToolsEditorGlobal.DB_ACTORCOM_PATH + go.name + ".prefab", go);
                gos.Add(go);
            }
            EditorUtility.UnloadUnusedAssetsImmediate();
            ed.db.actorComponesPrefabs = gos;
        }
コード例 #3
0
        public static List <T> FindPrefabsOfTypeAll <T>(string progressbarTitle, string progressbarInfo)
            where T : Component
        {
            DirectoryInfo dir = new DirectoryInfo(XXToolsEdUtil.FullProjectAssetsPath);

            FileInfo[] files = dir.GetFiles("*.prefab", SearchOption.AllDirectories);
            string     fn    = "";

            float progress = 0f;
            float step     = 1f / (float)files.Length;

            EditorUtility.DisplayProgressBar(progressbarTitle, progressbarInfo, progress);

            List <T> res = new List <T>();

            for (int i = 0; i < files.Length; i++)
            {
                progress += step;
                EditorUtility.DisplayProgressBar(progressbarTitle, progressbarInfo, progress);
                if (files[i] == null)
                {
                    continue;
                }
                fn = XXToolsEdUtil.ProjectRelativePath(files[i].FullName);
                if (!string.IsNullOrEmpty(fn))
                {
                    Object obj = AssetDatabase.LoadAssetAtPath(fn, typeof(T));
                    if (obj != null)
                    {
                        res.Add((T)obj);
                    }
                }
            }
            EditorUtility.ClearProgressBar();

            return(res);
        }