diff --git a/Editor/Postprocessor/Atlas/EditorSpriteSaveInfo.cs b/Editor/Postprocessor/Atlas/EditorSpriteSaveInfo.cs index 5f8809a..78691c1 100644 --- a/Editor/Postprocessor/Atlas/EditorSpriteSaveInfo.cs +++ b/Editor/Postprocessor/Atlas/EditorSpriteSaveInfo.cs @@ -240,11 +240,24 @@ public static class EditorSpriteSaveInfo private static List LoadValidSprites(string atlasName) { - return _atlasMap[atlasName] - .Where(File.Exists) - .Select(p => AssetDatabase.LoadAssetAtPath(p)) - .Where(s => s != null) - .ToList(); + if (_atlasMap.TryGetValue(atlasName, out List spriteList)) + { + var allSprites = new List(); + + foreach (var assetPath in spriteList.Where(File.Exists)) + { + // 加载所有子图 + var sprites = AssetDatabase.LoadAllAssetsAtPath(assetPath) + .OfType() + .Where(s => s != null) + .ToArray(); + + allSprites.AddRange(sprites); + } + + return allSprites; + } + return new List(); } #if UNITY_2022_1_OR_NEWER