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

105 lines
3.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System.Text;
using UnityEngine;
using UnityEngine.Serialization;
using UnityEngine.UI;
namespace Script.UI
{
public class SummaryPanel : PanelBase
{
[SerializeField] private Text txt_Score;
[SerializeField] private Text txt_True;
[SerializeField] private Text txt_False;
[SerializeField] private Text txt_Null;
[SerializeField] private Text txt_Accuracy;
[SerializeField] private Text txt_Time;
[SerializeField] private Button btn_Close;
public override void Init()
{
base.Init();
btn_Close.onClick.AddListener(ClickClose);
}
public override void Dispose()
{
base.Dispose();
btn_Close.onClick.RemoveListener(ClickClose);
}
public override void Open()
{
base.Open();
}
public override void ResetPanelData()
{
base.ResetPanelData();
UIManager.Instance.ClosePanel(PanelType.Answering);
UIManager.Instance.ClosePanel(PanelType.Tips);
SaveData();
}
private void ClickClose()
{
UIManager.Instance.OpenPanel(PanelType.Home);
Close();
}
private void SaveData()
{
var info = GlobalManager.Instance.CurrentInfo;
txt_Score.text = info.score.ToString();
txt_True.text = info.trueCount.ToString();
txt_False.text = info.falseCount.ToString();
txt_Null.text = info.nullCount.ToString();
txt_Accuracy.text = info.accuracy;
txt_Time.text = info.time;
StringBuilder sb = new StringBuilder();
sb.AppendLine($"选手ID{info.id}");
sb.AppendLine($"赛项:{info.title}");
sb.AppendLine($"科目:{info.subject}");
foreach (var infoAnswerData in info.answerDatas)
{
sb.AppendLine($"题目:{infoAnswerData.title}");
sb.Append($"选项:");
foreach (var option in infoAnswerData.options)
{
sb.Append($"{option}");
}
sb.AppendLine();
sb.Append($"正确答案:");
foreach (var answer in infoAnswerData.answers)
{
sb.Append($"{answer}");
}
sb.AppendLine();
sb.Append($"作答结果:");
foreach (var s in infoAnswerData.result)
{
sb.Append($"{s}");
}
sb.AppendLine("\n");
}
sb.AppendLine($"分数:{txt_Score.text}");
sb.AppendLine($"正确数量:{txt_True.text}");
sb.AppendLine($"答错数量:{txt_False.text}");
sb.AppendLine($"未答数量:{txt_Null.text}");
sb.AppendLine($"正确率:{txt_Accuracy.text}");
sb.AppendLine($"用时:{txt_Time.text}");
FileManager.Instance.SavePlayerData(sb.ToString());
// ExcelManager.Instance.SaveAndExpIndex(GlobalManager.Instance.CurrentInfo, GlobalManager.Instance.Count - 1);
}
}
}