Exemplo n.º 1
0
        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();
            }
        }