using System.Collections.Generic; using System.IO; using Sirenix.OdinInspector; using Sirenix.OdinInspector.Editor; using UnityEditor; using UnityEngine; using UnityEngine.Serialization; using ZC; namespace ZEditor { public class TipsEditor : OdinEditorWindow { [MenuItem("Tool/提示文本编辑面板")] private static void OpenWindow() { GetWindow().Show(); } [FolderPath] public string savePath = "Assets/DemoGame/GameRes/Config"; public string saveName = "TipsData"; private string path => $"{savePath}/{saveName}.asset"; public List TipsSDatas = new List(); [Button("加载")] void LoadData(string fileName = "TipsData") { string filePath = $"{savePath}/{fileName}.asset"; var loadAssetAtPath = AssetDatabase.LoadAssetAtPath(filePath); TipsSDatas = loadAssetAtPath.Datas; } [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.Datas = new List(TipsSDatas); AssetDatabase.CreateAsset(questionBankData, path); } else { var data = AssetDatabase.LoadAssetAtPath(path); data.Datas = TipsSDatas; } AssetDatabase.SaveAssets(); // saveName = string.Empty; } } }