using Core; using DG.Tweening; using UnityEngine; namespace Components { public class ObstaclePillar : BaseMonoBehaviour { [SerializeField] private Transform holder; [SerializeField] private Vector3 initialPosition; [SerializeField] private float position; [SerializeField] private float duration = .35f; [SerializeField] private Ease animationEase = Ease.Flash; private Tween _animTween; protected override void ReleaseReferences() { _animTween?.Kill(); _animTween = null; holder = null; } public void AnimatePillar() { holder.localPosition = initialPosition; gameObject.SetActive(true); _animTween = holder.DOMoveY(position, duration) .SetEase(animationEase) .SetLoops(-1, LoopType.Yoyo); } public void StopAnimation() { _animTween?.Kill(); gameObject.SetActive(false); } } }