12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- // --------------------------------------------------------------------------------------------------------------------
- // <copyright file="TextButtonTransition.cs" company="Exit Games GmbH">
- // </copyright>
- // <summary>
- // Use this on Button texts to have some color transition on the text as well without corrupting button's behaviour.
- // </summary>
- // <author>developer@exitgames.com</author>
- // --------------------------------------------------------------------------------------------------------------------
- using UnityEngine;
- using UnityEngine.EventSystems;
- using UnityEngine.UI;
- namespace Photon.Chat.UtilityScripts
- {
- /// <summary>
- /// Use this on Button texts to have some color transition on the text as well without corrupting button's behaviour.
- /// </summary>
- [RequireComponent(typeof(Text))]
- public class TextButtonTransition : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
- {
-
- Text _text;
- /// <summary>
- /// The selectable Component.
- /// </summary>
- public Selectable Selectable;
- /// <summary>
- /// The color of the normal of the transition state.
- /// </summary>
- public Color NormalColor= Color.white;
- /// <summary>
- /// The color of the hover of the transition state.
- /// </summary>
- public Color HoverColor = Color.black;
- public void Awake()
- {
- _text = GetComponent<Text>();
- }
- public void OnEnable()
- {
- _text.color = NormalColor;
- }
- public void OnDisable()
- {
- _text.color = NormalColor;
- }
- public void OnPointerEnter(PointerEventData eventData)
- {
- if (Selectable == null || Selectable.IsInteractable()) {
- _text.color = HoverColor;
- }
- }
-
- public void OnPointerExit(PointerEventData eventData)
- {
- if (Selectable == null || Selectable.IsInteractable()) {
- _text.color = NormalColor;
- }
- }
- }
- }
|