diff --git a/UnityProject/Assets/TEngine/Editor/AtlasMakerEditor/EditorSpriteSaveInfo.cs b/UnityProject/Assets/TEngine/Editor/AtlasMakerEditor/EditorSpriteSaveInfo.cs index 6b910275..3d3ebc84 100644 --- a/UnityProject/Assets/TEngine/Editor/AtlasMakerEditor/EditorSpriteSaveInfo.cs +++ b/UnityProject/Assets/TEngine/Editor/AtlasMakerEditor/EditorSpriteSaveInfo.cs @@ -203,11 +203,20 @@ { if (_atlasMap.TryGetValue(atlasName, out List spriteList)) { - return spriteList - .Where(File.Exists) - .Select(AssetDatabase.LoadAssetAtPath) - .Where(s => s) - .ToList(); + 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(); }