44 lines
1.4 KiB
C#
44 lines
1.4 KiB
C#
using System.Collections;
|
||
using UnityEngine;
|
||
|
||
/// <summary>
|
||
/// Панель "Пополните баланс" — показывается когда не хватает денег на игру.
|
||
/// Закрывается автоматически через autoHideDelay секунд.
|
||
///
|
||
/// Настройка в сцене:
|
||
/// - Добавь UIPanelId на этот же GameObject, id = "InsufficientFunds", layer = Overlay
|
||
/// - Настрой визуал (фон + TMP_Text с нужным текстом) прямо в редакторе
|
||
/// </summary>
|
||
public class InsufficientFundsPanel : MonoBehaviour
|
||
{
|
||
[SerializeField] private float autoHideDelay = 5f;
|
||
|
||
private Coroutine _hideCoroutine;
|
||
|
||
private void OnEnable()
|
||
{
|
||
// Каждый раз когда панель показывается — запускаем таймер автозакрытия
|
||
if (_hideCoroutine != null)
|
||
StopCoroutine(_hideCoroutine);
|
||
|
||
_hideCoroutine = StartCoroutine(AutoHide());
|
||
}
|
||
|
||
private void OnDisable()
|
||
{
|
||
if (_hideCoroutine != null)
|
||
{
|
||
StopCoroutine(_hideCoroutine);
|
||
_hideCoroutine = null;
|
||
}
|
||
}
|
||
|
||
private IEnumerator AutoHide()
|
||
{
|
||
yield return new WaitForSeconds(autoHideDelay);
|
||
gameObject.SetActive(false);
|
||
_hideCoroutine = null;
|
||
}
|
||
}
|
||
|