WaiXie_QuestionSystem/Assets/Script/UI/Panel/TipsPanel.cs

79 lines
2.2 KiB
C#

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<bool> 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);
}
}
}