Добавить таймеры и шкалы прогресса, расширить призовую систему и контроль остатков, восстановить настройки и обновить таблицу призов главного меню.
36 lines
1.0 KiB
C#
36 lines
1.0 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|