using Sirenix.OdinInspector; using TMPro; using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; namespace BlueWater.Uis.Restaurant { public class CraftRecipeButton : MonoBehaviour { [Title("컴포넌트")] [SerializeField] private Button _button; [SerializeField] private Image _itemImage; [SerializeField] private TMP_Text _craftableCountText; private UnityAction _clickAction; private void OnDestroy() { UnregisterButtonListener(); } public void RegisterButtonListener(UnityAction clickAction) { _clickAction = clickAction; _button.onClick.AddListener(_clickAction); } private void UnregisterButtonListener() { if (_clickAction == null) return; _button.onClick.RemoveListener(_clickAction); _clickAction = null; } } }