12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.EventSystems;
- #pragma warning disable CS0649
- #if EPO_DOTWEEN
- using DG.Tweening;
- #endif
- 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>();
- #if !EPO_DOTWEEN
- outlinable.enabled = false;
- #else
- outlinable.FrontParameters.DOColor(new Color(0, 0, 1, 0), 0.0f);
- outlinable.FrontParameters.DODilateShift(1.0f, 0.0f);
- outlinable.FrontParameters.DOBlurShift(0.0f, 0.0f);
- #endif
- outlinable.FrontParameters.FillPass.SetFloat("_PublicAngle", 35.0f);
- }
- public void OnPointerEnter(PointerEventData eventData)
- {
- if (!affectOutlinable)
- return;
- #if !EPO_DOTWEEN
- outlinable.enabled = true;
- #else
- outlinable.FrontParameters.DOKill(true);
- outlinable.FrontParameters.DOColor(new Color(0, 1, 0, 1), 0.5f);
- outlinable.FrontParameters.DOBlurShift(1.0f, 0.5f).SetDelay(0.5f);
- outlinable.FrontParameters.DODilateShift(0.0f, 0.5f).SetDelay(0.5f);
- outlinable.FrontParameters.DOColor(new Color(1, 1, 0, 1), 0.5f).SetDelay(1.0f);
- #endif
- }
- public void OnPointerExit(PointerEventData eventData)
- {
- if (!affectOutlinable)
- return;
- #if !EPO_DOTWEEN
- outlinable.enabled = false;
- #else
- outlinable.FrontParameters.DOKill(true);
- outlinable.FrontParameters.DOBlurShift(0.0f, 0.5f);
- outlinable.FrontParameters.DODilateShift(1.0f, 0.5f);
- outlinable.FrontParameters.DOColor(new Color(0, 0, 1, 0), 0.5f).SetDelay(0.5f);
- #endif
- }
- public void OnPointerClick(PointerEventData eventData)
- {
- AudioSource.PlayClipAtPoint(interactionSound, transform.position, 1.0f);
- }
- }
- }
|