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

50 lines
1.1 KiB
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 GameObject _bgImage;
[SerializeField] private float _fadeDuration;
[SerializeField] private bool _allowFade = true;
private Sequence _fadeSequence;
public UnityEvent _onSelect;
public UnityEvent _onDeselect;
public void OnPointerEnter(PointerEventData eventData)
{
KillFadeSequence();
_bgImage.SetActive(true);
_onSelect.Invoke();
}
public void OnPointerExit(PointerEventData eventData)
{
KillFadeSequence();
_bgImage.SetActive(false);
_onDeselect.Invoke();
}
private void KillFadeSequence()
{
if (_fadeSequence != null && _fadeSequence.IsActive())
{
_fadeSequence.Kill();
}
}
}
}