65 lines
1.8 KiB
C#
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/<2F><>ʾ<EFBFBD>ı<EFBFBD><C4B1>༭<EFBFBD><E0BCAD><EFBFBD><EFBFBD>")]
|
|||
|
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("<22><><EFBFBD><EFBFBD>")]
|
|||
|
void LoadData(string fileName = "TipsData")
|
|||
|
{
|
|||
|
string filePath = $"{savePath}/{fileName}.asset";
|
|||
|
var loadAssetAtPath = AssetDatabase.LoadAssetAtPath<TipsData>(filePath);
|
|||
|
TipsSDatas = loadAssetAtPath.Datas;
|
|||
|
}
|
|||
|
|
|||
|
[Button("<22><><EFBFBD><EFBFBD>")]
|
|||
|
void SaveData()
|
|||
|
{
|
|||
|
if (string.IsNullOrEmpty(savePath))
|
|||
|
{
|
|||
|
Debug.LogError("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ·<C8B7><C2B7><EFBFBD><EFBFBD>");
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
if (string.IsNullOrEmpty(saveName))
|
|||
|
{
|
|||
|
Debug.LogError("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
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;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|