using Unity.Profiling; namespace UnityEngine.U2D.Animation { [AddComponentMenu("")] [DefaultExecutionOrder(-1)] [ExecuteInEditMode] internal class SpriteSkinUpdateHelper : MonoBehaviour { public System.Action onDestroyingComponent { get; set; } ProfilerMarker m_ProfilerMarker = new ProfilerMarker("SpriteSkinUpdateHelper.LateUpdate"); void OnDestroy() => onDestroyingComponent?.Invoke(gameObject); void LateUpdate() { #if ENABLE_ANIMATION_BURST && ENABLE_ANIMATION_COLLECTION if (SpriteSkinComposite.instance.helperGameObject != gameObject) { GameObject.DestroyImmediate(gameObject); return; } m_ProfilerMarker.Begin(); SpriteSkinComposite.instance.LateUpdate(); m_ProfilerMarker.End(); #endif } } }