// Copyright (c) Pixel Crushers. All rights reserved.
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace PixelCrushers
{
///
/// This script deselects the previous selectable when the pointer enters this one.
///
[AddComponentMenu("")] // Use wrapper.
[RequireComponent(typeof(Selectable))]
public class DeselectPreviousOnPointerEnter : MonoBehaviour, IPointerEnterHandler, IDeselectHandler
{
public void OnPointerEnter(PointerEventData eventData)
{
if (!EventSystem.current.alreadySelecting)
{
EventSystem.current.SetSelectedGameObject(this.gameObject);
}
}
public void OnDeselect(BaseEventData eventData)
{
GetComponent().OnPointerExit(null);
}
}
}