using TMPro; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; [RequireComponent(typeof(Audio))] [RequireComponent(typeof(Button))] [RequireComponent(typeof(Animator))] public class BaseSelector : MonoBehaviour, ISelectHandler, IDeselectHandler, IPointerEnterHandler { [SerializeField] private TextMeshProUGUI _titleText = default; [SerializeField] private TextMeshProUGUI _valueText = default; [SerializeField] private PlayerPreferences _playerPreferences = default; [SerializeField] private string[] _values = default; [SerializeField] private Color _selectedColor = default; [SerializeField] private Color _deselectedColor = default; [SerializeField] private UnityEventInt _eventInt = default; [SerializeField] private RectTransform _scrollView = default; [SerializeField] private float _scrollUpAmount = default; [SerializeField] private float _scrollDownAmount = default; protected Audio _audio; protected Button _button; public int Value { get; private set; } void Awake() { _audio = GetComponent