HAARFTE/Assets/DemoGame/GameScript/Editor/TipsEditor.cs

65 lines
1.8 KiB
C#

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