using UnityEngine; namespace PrizeSystem { public sealed class PrizeStockEmptyLabel : MonoBehaviour { [SerializeField] private CanvasGroup _canvasGroup; private void OnEnable() { PrizeStockService.StateChanged -= Refresh; PrizeStockService.StateChanged += Refresh; SettingsManager.OnSettingsChanged -= Refresh; SettingsManager.OnSettingsChanged += Refresh; Refresh(); } private void OnDisable() { PrizeStockService.StateChanged -= Refresh; SettingsManager.OnSettingsChanged -= Refresh; } private void Refresh() { bool visible = SettingsManager.Initialized && PrizeStockService.Enabled && PrizeStockService.Count == 0 && SettingsManager.GetBool(SettingKey.DISPLAY_NOPRIZES); _canvasGroup.alpha = visible ? 1f : 0f; _canvasGroup.blocksRaycasts = false; _canvasGroup.interactable = false; } } }