using UnityEditor.Build.Pipeline.Injector;
using UnityEditor.Build.Pipeline.Interfaces;
using UnityEditor.Sprites;
using UnityEditor.U2D;
namespace UnityEditor.Build.Pipeline.Tasks
{
///
/// Builds the cache data for all sprite atlases.
///
public class RebuildSpriteAtlasCache : IBuildTask
{
///
public int Version { get { return 1; } }
#pragma warning disable 649
[InjectContext(ContextUsage.In)]
IBuildParameters m_Parameters;
#pragma warning restore 649
///
public ReturnCode Run()
{
// TODO: Need a return value if this ever can fail
#if !UNITY_2020_1_OR_NEWER
Packer.RebuildAtlasCacheIfNeeded(m_Parameters.Target, true, Packer.Execution.Normal);
#endif
SpriteAtlasUtility.PackAllAtlases(m_Parameters.Target);
return ReturnCode.Success;
}
}
}