public static void DisableLibstAtPath(string path) { List <string> files = SA_AssetDatabase.FindAssetsWithExtentions(path); for (int i = 0; i < files.Count; i++) { var filePath = files[i]; //Make sure this is not a folder if (SA_AssetDatabase.IsValidFolder(filePath)) { continue; } //Already disabled if (SA_AssetDatabase.GetExtension(filePath).Equals(DISABLED_LIB_EXTENSION)) { continue; } string newFilePath; newFilePath = filePath + DISABLED_LIB_EXTENSION; float progress = (float)(i + 1) / (float)files.Count; string fileName = SA_AssetDatabase.GetFileName(newFilePath); EditorUtility.DisplayProgressBar("Stan's Assets.", "Packing: " + fileName, progress); SA_AssetDatabase.MoveAsset(filePath, newFilePath); SA_AssetDatabase.ImportAsset(newFilePath); } EditorUtility.ClearProgressBar(); }
public static void EnableLibsAtPath(string path) { List <string> files = SA_AssetDatabase.FindAssetsWithExtentions(path); for (int i = 0; i < files.Count; i++) { var file = files[i]; //Make sure this is not a folder if (SA_AssetDatabase.IsValidFolder(file)) { continue; } if (SA_AssetDatabase.GetExtension(file).Equals(DISABLED_LIB_EXTENSION)) { string newFileName = file.Replace(DISABLED_LIB_EXTENSION, string.Empty); string fileName = SA_AssetDatabase.GetFileName(newFileName); float progress = (float)(i + 1) / (float)files.Count; EditorUtility.DisplayProgressBar("Stan's Assets.", "Installing: " + fileName, progress); SA_AssetDatabase.MoveAsset(file, newFileName); SA_AssetDatabase.ImportAsset(newFileName); } } EditorUtility.ClearProgressBar(); }
private void ValidateAssets <T>(List <T> assets, string requiredLocation, string requiredExtension) where T : Object { //Let's make sure we aren't missing assets under requiredLocation var assetPaths = SA_AssetDatabase.FindAssetsWithExtentions(requiredLocation, requiredExtension); foreach (var assetPath in assetPaths) { var assetExtension = SA_PathUtil.GetExtension(assetPath); if (assetExtension.Equals(requiredExtension)) { var file = (T)AssetDatabase.LoadAssetAtPath(assetPath, typeof(T)); if (!assets.Contains(file)) { assets.Add(file); return; } } } for (var i = 0; i < assets.Count; i++) { var asset = assets[i]; if (asset == null) { //We do not allow null element's unless this is a last element if (i != assets.Count - 1) { assets.Remove(asset); return; } continue; } if (!HasValidExtension(asset, requiredExtension)) { EditorGUILayout.HelpBox(asset.name + " need to be in *" + requiredExtension + " format.", MessageType.Error); continue; } if (!SA_AssetDatabase.IsAssetInsideFolder(asset, requiredLocation)) { EditorGUILayout.HelpBox(asset.name + " has to be inside: \n" + requiredLocation, MessageType.Error); using (new SA_GuiBeginHorizontal()) { GUILayout.FlexibleSpace(); var move = GUILayout.Button("Move", EditorStyles.miniButton); if (move) { var currentPath = AssetDatabase.GetAssetPath(asset); var assetName = SA_AssetDatabase.GetFileName(currentPath); var newPath = requiredLocation + assetName; SA_AssetDatabase.MoveAsset(currentPath, newPath); } } } } }