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().Show(); } [FolderPath] public string savePath = "Assets/DemoGame/GameRes/Config"; public string saveName; private string path => $"{savePath}/{saveName}.asset"; public List AnswerDatas = new List(); [Button("加载")] void LoadData(string fileName) { string filePath = $"{savePath}/{fileName}.asset"; var loadAssetAtPath = AssetDatabase.LoadAssetAtPath(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.AnswerDatas = new List(AnswerDatas); AssetDatabase.CreateAsset(questionBankData, path); } else { var data = AssetDatabase.LoadAssetAtPath(path); data.AnswerDatas = AnswerDatas; } AssetDatabase.SaveAssets(); saveName = string.Empty; } } }