using AudioEvent; using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; namespace UI { public class ButtonUIComponent : UIComponentBase { [SerializeField] private Button _button; [SerializeField] private SimpleAudioEvent _clickSound; [SerializeField] private AudioSource _audioSource; private void Awake() => _button.onClick.AddListener(() => _clickSound.Play(_audioSource)); public void OnClick(UnityAction callback) => _button.onClick.AddListener(callback); private void OnDestroy() => _button.onClick.RemoveAllListeners(); } }