Compare commits

...

2 Commits

Author SHA1 Message Date
zc bb427c1bd2 完成题库工具 2024-10-27 23:12:16 +08:00
zc 5037898610 分离题库数据以便开发题库编辑工具 2024-10-27 23:11:29 +08:00
6 changed files with 105 additions and 24 deletions

View File

@ -0,0 +1,64 @@
using System.Collections.Generic;
using System.IO;
using Sirenix.OdinInspector;
using Sirenix.OdinInspector.Editor;
using UnityEditor;
using UnityEngine;
using ZC;
namespace ZEditor
{
public class QuestionEditor : OdinEditorWindow
{
[MenuItem("ZTools/QuestionEditor")]
private static void OpenWindow()
{
GetWindow<QuestionEditor>().Show();
}
[FolderPath] public string savePath = "Assets/DemoGame/GameRes/Config";
public string saveName;
private string path => $"{savePath}/{saveName}.asset";
public List<AnswerData> AnswerDatas = new List<AnswerData>();
[Button("加载")]
void LoadData(string fileName)
{
string filePath = $"{savePath}/{fileName}.asset";
var loadAssetAtPath = AssetDatabase.LoadAssetAtPath<QuestionBankData>(filePath);
AnswerDatas = loadAssetAtPath.AnswerDatas;
}
[Button("保存")]
void SaveData()
{
if (string.IsNullOrEmpty(savePath))
{
Debug.LogError("请填入正确路径!");
return;
}
if (string.IsNullOrEmpty(saveName))
{
Debug.LogError("请填入正确文件名!");
return;
}
if (!File.Exists(path))
{
var questionBankData = ScriptableObject.CreateInstance<QuestionBankData>();
questionBankData.AnswerDatas = new List<AnswerData>(AnswerDatas);
AssetDatabase.CreateAsset(questionBankData, path);
}
else
{
var data = AssetDatabase.LoadAssetAtPath<QuestionBankData>(path);
data.AnswerDatas = AnswerDatas;
}
AssetDatabase.SaveAssets();
saveName = string.Empty;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 290ea4dab1c646dcbb9375d178a85f3f
timeCreated: 1730038626

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 4bc9670fa7014130a180ddedb93dffb5
timeCreated: 1730041828

View File

@ -0,0 +1,31 @@
using System.Collections.Generic;
using UnityEngine;
namespace ZC
{
[System.Serializable]
public class QuestionBankData : ScriptableObject
{
public string questionName;
public List<AnswerData> AnswerDatas = new List<AnswerData>();
}
[System.Serializable]
public class AnswerData
{
public int index;
public string title;
public List<OptionData> options = new List<OptionData>();
public string trueOption;
public string analyze;
}
[System.Serializable]
public class OptionData
{
public string content;
public bool isTrue;
// public string analyze;
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d756517b2bde43b68b5ed56251a48a9b
timeCreated: 1730041548

View File

@ -1,5 +1,4 @@
using System.Collections.Generic; using TMPro;
using TMPro;
using UnityEngine.UI; using UnityEngine.UI;
namespace ZC namespace ZC
@ -120,26 +119,4 @@ namespace ZC
} }
} }
} }
public class QuestionBankData
{
public List<AnswerData> AnswerDatas = new List<AnswerData>();
}
public class AnswerData
{
public int index;
public string title;
public List<OptionData> options = new List<OptionData>();
public string trueOption;
public string analyze;
}
public class OptionData
{
public string content;
public bool isTrue;
// public string analyze;
}
} }