add project files
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user