Files
art_test_main/Assets/Plugins/Easy performant outline/Demo/Scripts/InteractableObject.cs
2025-11-03 11:25:01 +08:00

49 lines
1.2 KiB
C#

using UnityEngine;
using UnityEngine.EventSystems;
#pragma warning disable CS0649
namespace EPOOutline.Demo
{
public class InteractableObject : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerClickHandler
{
[SerializeField]
private AudioClip interactionSound;
[SerializeField]
private bool affectOutlinable = true;
private Outlinable outlinable;
private void Start()
{
if (!affectOutlinable)
return;
outlinable = GetComponent<Outlinable>();
outlinable.enabled = false;
outlinable.FrontParameters.FillPass.SetFloat("_PublicAngle", 35.0f);
}
public void OnPointerEnter(PointerEventData eventData)
{
if (!affectOutlinable)
return;
outlinable.enabled = true;
}
public void OnPointerExit(PointerEventData eventData)
{
if (!affectOutlinable)
return;
outlinable.enabled = false;
}
public void OnPointerClick(PointerEventData eventData)
{
AudioSource.PlayClipAtPoint(interactionSound, transform.position, 1.0f);
}
}
}