biography-of-lijie/Assets/GameMain/Scripts/UI/View/SelectableItem.cs

37 lines
996 B
C#

using DG.Tweening;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace UI
{
public class SelectableItem : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
{
[SerializeField] private Image _bgImage;
[SerializeField] private float _fadeDuration;
private Sequence _fadeSequence;
public UnityEvent _onSelect;
public UnityEvent _onDeselect;
public void OnPointerEnter(PointerEventData eventData)
{
_fadeSequence.Kill();
_fadeSequence = DOTween.Sequence();
_fadeSequence.Append(_bgImage.DOFade(1, _fadeDuration));
_onSelect.Invoke();
}
public void OnPointerExit(PointerEventData eventData)
{
_fadeSequence.Kill();
_fadeSequence = DOTween.Sequence();
_fadeSequence.Append(_bgImage.DOFade(0, _fadeDuration));
_onDeselect.Invoke();
}
}
}