Unity_Utils/UI/Components/ButtonUIComponent.cs
2021-07-31 22:24:34 -04:00

21 lines
618 B
C#

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();
}
}