Files
butchers-games-test/Assets/Scripts/Game/UI/UIConfirmPopup.cs
T
Boris Nikolaev 5f1e94b653 add project files
2026-08-14 01:58:31 +03:00

76 lines
1.2 KiB
C#

using System;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Serialization;
public class UIConfirmPopup : UIMenu
{
[SerializeField]
[FormerlySerializedAs("confirmButton")]
private Button _confirmButton;
[SerializeField]
[FormerlySerializedAs("cancelButton")]
private Button _cancelButton;
[SerializeField]
[FormerlySerializedAs("confirmButtonText")]
private TextWrapper _confirmButtonText;
private Action _onConfirm;
private Action _onCancel;
private void Awake()
{
_confirmButton.onClick.AddListener(Confirm);
_cancelButton.onClick.AddListener(Cancel);
}
public override bool OnBack()
{
if (_onCancel != null)
{
_onCancel();
}
return base.OnBack();
}
public void Show(Action confirm, Action cancel = null)
{
_onConfirm = confirm;
_onCancel = cancel;
_cancelButton.gameObject.SetActive(cancel != null);
Show();
}
public void ActiveCancelButton(bool active)
{
_cancelButton.gameObject.SetActive(active);
}
public void SetTextConfirmButton(string text)
{
_confirmButtonText.text = text;
}
public void Confirm()
{
if (_onConfirm != null)
{
_onConfirm();
}
Hide();
}
public void Cancel()
{
if (_onCancel != null)
{
_onCancel();
}
Hide();
}
}