35 lines
1.1 KiB
C#
35 lines
1.1 KiB
C#
using UnityEngine;
|
|
using DG.Tweening;
|
|
using UnityEngine.EventSystems;
|
|
[RequireComponent(typeof(EventTrigger))]
|
|
public class ScaleOnHover : MonoBehaviour
|
|
{
|
|
public float scaleFactor = 1.1f;
|
|
public float duration = 0.1f;
|
|
public Ease ease = Ease.OutBack;
|
|
|
|
|
|
void Start()
|
|
{
|
|
EventTrigger eventTrigger = GetComponent<EventTrigger>();
|
|
EventTrigger.Entry entry = new EventTrigger.Entry();
|
|
entry.eventID = EventTriggerType.PointerEnter;
|
|
entry.callback.AddListener((data) => { OnPointerEnter((PointerEventData)data); });
|
|
eventTrigger.triggers.Add(entry);
|
|
entry = new EventTrigger.Entry();
|
|
entry.eventID = EventTriggerType.PointerExit;
|
|
entry.callback.AddListener((data) => { OnPointerExit((PointerEventData)data); });
|
|
eventTrigger.triggers.Add(entry);
|
|
}
|
|
|
|
public void OnPointerEnter(PointerEventData eventData)
|
|
{
|
|
transform.DOScale(scaleFactor, duration).SetEase(ease);
|
|
}
|
|
public void OnPointerExit(PointerEventData eventData)
|
|
{
|
|
transform.DOKill();
|
|
transform.DOScale(1f, duration).SetEase(ease);
|
|
}
|
|
}
|