static void RemoveFromAtlases(string assetPath) { var assetPaths = new List <string>(); if (assetPath.IsFilePath()) { assetPaths.Add(assetPath); } else if (Directory.Exists(assetPath)) { string[] filePaths = Directory.GetFiles(assetPath, "*.*", SearchOption.AllDirectories); assetPaths.AddRange(filePaths); } foreach (var asset in assetPaths) { if (AssetDatabase.GetMainAssetTypeAtPath(asset) == typeof(Texture2D) && Path.GetExtension(asset.ToLower()) != AtlasGeneratorCommands.PsbExtension) { AtlasGeneratorCommands.RemoveSpriteFromAtlas(asset); } } }
public static void PackIntoAtlases(string[] importedAssets, string[] movedAssets, string[] movedFromAssetPaths) { var dirty = false; // Apply generation rules. foreach (var importedAsset in importedAssets) { dirty |= AtlasGeneratorCommands.ProcessAsset(importedAsset, null); } for (var i = 0; i < movedAssets.Length; i++) { var movedAsset = movedAssets[i]; var movedFromAssetPath = movedFromAssetPaths[i]; dirty |= AtlasGeneratorCommands.ProcessAsset(movedAsset, movedFromAssetPath); } if (dirty) { AssetDatabase.SaveAssets(); } }