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(); }
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; }
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); }