2023-12-26 11:21:59 +08:00
|
|
|
|
using System.Collections.Generic;
|
2023-12-26 23:25:22 +08:00
|
|
|
|
using System.Linq;
|
2023-12-26 11:21:59 +08:00
|
|
|
|
|
|
|
|
|
namespace Script.Excel
|
|
|
|
|
{
|
|
|
|
|
public class SaveDataInfo
|
|
|
|
|
{
|
|
|
|
|
public string id;
|
|
|
|
|
public string title;
|
|
|
|
|
public string subject;
|
|
|
|
|
public List<AnswerData> answerDatas = new List<AnswerData>();
|
|
|
|
|
public string score;
|
|
|
|
|
public string trueCount;
|
|
|
|
|
public string falseCount;
|
|
|
|
|
public string nullCount;
|
|
|
|
|
public string accuracy;
|
|
|
|
|
public string time;
|
|
|
|
|
|
|
|
|
|
public class AnswerData
|
|
|
|
|
{
|
|
|
|
|
public string title;
|
|
|
|
|
public string[] options;
|
|
|
|
|
public string[] answers;
|
|
|
|
|
public string[] result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class SaveData
|
|
|
|
|
{
|
|
|
|
|
private Dictionary<int, SaveDataInfo> _saveDataInfos = new Dictionary<int, SaveDataInfo>();
|
|
|
|
|
|
|
|
|
|
public int Count => _saveDataInfos.Count;
|
2023-12-26 23:25:22 +08:00
|
|
|
|
public List<SaveDataInfo> DataInfos => _saveDataInfos.Values.ToList();
|
2023-12-26 11:21:59 +08:00
|
|
|
|
|
|
|
|
|
public SaveDataInfo AddInfo(int id, string title, string subject)
|
|
|
|
|
{
|
|
|
|
|
var saveDataInfo = new SaveDataInfo();
|
|
|
|
|
saveDataInfo.id = id.ToString();
|
|
|
|
|
saveDataInfo.title = title;
|
|
|
|
|
saveDataInfo.subject = subject;
|
|
|
|
|
_saveDataInfos.Add(id, saveDataInfo);
|
|
|
|
|
return saveDataInfo;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void AddAnswer(int id, string title, string[] options, string[] answers)
|
|
|
|
|
{
|
|
|
|
|
if (_saveDataInfos.TryGetValue(id, out var info))
|
|
|
|
|
{
|
|
|
|
|
var answerData = new SaveDataInfo.AnswerData();
|
|
|
|
|
answerData.title = title;
|
|
|
|
|
answerData.options = options;
|
|
|
|
|
answerData.answers = answers;
|
|
|
|
|
info.answerDatas.Add(answerData);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void AddResult(int id, int index, string[] result)
|
|
|
|
|
{
|
|
|
|
|
if (_saveDataInfos.TryGetValue(id, out var info))
|
|
|
|
|
{
|
|
|
|
|
info.answerDatas[index].result = result;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void SetScoreAndOther(int id, string score, string trueCount, string falseCount, string nullCount, string accuracy)
|
|
|
|
|
{
|
|
|
|
|
if (_saveDataInfos.TryGetValue(id, out var info))
|
|
|
|
|
{
|
|
|
|
|
info.score = score;
|
|
|
|
|
info.trueCount = trueCount;
|
|
|
|
|
info.falseCount = falseCount;
|
|
|
|
|
info.nullCount = nullCount;
|
|
|
|
|
info.accuracy = accuracy;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void SetTime(int id, string time)
|
|
|
|
|
{
|
|
|
|
|
if (_saveDataInfos.TryGetValue(id, out var info))
|
|
|
|
|
{
|
|
|
|
|
info.time = time;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|