using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;
///
/// DOTween 扩展方法,为不同组件提供动画功能
///
public static class DOTweenExtensions
{
///
/// 为 CanvasGroup 提供淡入淡出动画
///
/// 目标 CanvasGroup
/// 目标透明度值 (0-1)
/// 动画持续时间
/// Tweener 实例
public static Tweener DOFade(this CanvasGroup target, float endValue, float duration)
{
return DOTween.To(() => target.alpha, x => target.alpha = x, endValue, duration);
}
///
/// 为 RectTransform 提供移动动画
///
/// 目标 RectTransform
/// 目标位置
/// 动画持续时间
/// Tweener 实例
public static Tweener DOAnchorPos(this RectTransform target, Vector2 endValue, float duration)
{
return DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, endValue, duration);
}
///
/// 为 Transform 提供缩放动画
///
/// 目标 Transform
/// 目标缩放值
/// 动画持续时间
/// Tweener 实例
public static Tweener DOScale(this Transform target, Vector3 endValue, float duration)
{
return DOTween.To(() => target.localScale, x => target.localScale = x, endValue, duration);
}
}