using System; using UnityEngine; using UnityEngine.UI; namespace Script.UI { public class TipsPanel : PanelBase { [SerializeField] private Text txt_Content; [SerializeField] private Button btn_Sure; [SerializeField] private Button btn_Cancel; Action action; public override void Init() { base.Init(); btn_Sure.onClick.AddListener(ClickSure); btn_Cancel.onClick.AddListener(ClickCancel); } public override void Dispose() { base.Dispose(); btn_Sure.onClick.RemoveListener(ClickSure); btn_Cancel.onClick.RemoveListener(ClickCancel); } public override void Open() { base.Open(); var answeringPanel = UIManager.Instance.GetPanel(PanelType.Answering) as AnsweringPanel; if (answeringPanel != null) answeringPanel.Pause(); var count = GlobalManager.Instance.CurrentInfo.nullCount; var c = int.Parse(count); if (c == 0) txt_Content.text = $"请问是否确认交卷吗?"; else txt_Content.text = $"您还有({c})道题未答,请问是否确认交卷吗?"; } private int index = 0; public void ResetIndex() { index = 0; } private void ClickSure() { ++index; if (index < 3) { Close(); return; } var panelBase = UIManager.Instance.GetPanel(PanelType.Answering); var answeringPanel = panelBase as AnsweringPanel; if (answeringPanel != null) answeringPanel.SaveData(); answeringPanel.Stop(); index = 0; action?.Invoke(true); UIManager.Instance.OpenPanel(PanelType.Summary); UIManager.Instance.ClosePanel(PanelType.Answering); Close(); } private void ClickCancel() { var answeringPanel = UIManager.Instance.GetPanel(PanelType.Answering) as AnsweringPanel; if (answeringPanel != null) answeringPanel.Resume(); Close(); action?.Invoke(false); } } }