add 增加提示文本数据和编辑器

pull/1/head
zxl 2024-10-28 14:11:48 +08:00
parent bb427c1bd2
commit 055fbc3aeb
6 changed files with 111 additions and 4 deletions

View File

@ -35,7 +35,7 @@ namespace ZEditor
#region Win #region Win
[MenuItem("Tool/****构建PC包****")] [MenuItem("Tool/Build/****构建PC包****")]
public static void BuildPCGame() public static void BuildPCGame()
{ {
Run(BuildTarget.StandaloneWindows, pc); Run(BuildTarget.StandaloneWindows, pc);
@ -45,7 +45,7 @@ namespace ZEditor
#region Android #region Android
[MenuItem("Tool/****构建Android包****")] [MenuItem("Tool/Build/****构建Android包****")]
public static void BuildAndroidGame() public static void BuildAndroidGame()
{ {
Run(BuildTarget.Android, android); Run(BuildTarget.Android, android);
@ -55,7 +55,7 @@ namespace ZEditor
#region WebGL #region WebGL
[MenuItem("Tool/****构建WebGL包****")] [MenuItem("Tool/Build/****构建WebGL包****")]
public static void BuildWebGLGame() public static void BuildWebGLGame()
{ {
Run(BuildTarget.WebGL, webgl); Run(BuildTarget.WebGL, webgl);

View File

@ -10,7 +10,7 @@ namespace ZEditor
{ {
public class QuestionEditor : OdinEditorWindow public class QuestionEditor : OdinEditorWindow
{ {
[MenuItem("ZTools/QuestionEditor")] [MenuItem("Tool/题库编辑面板")]
private static void OpenWindow() private static void OpenWindow()
{ {
GetWindow<QuestionEditor>().Show(); GetWindow<QuestionEditor>().Show();

View File

@ -0,0 +1,65 @@
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;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 3a443f39a7d44d278f913ebf519a2981
timeCreated: 1730086555

View File

@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace ZC
{
public enum TipsDataType
{
}
[System.Serializable]
public class TipsData : ScriptableObject
{
public List<TipsSData> Datas = new List<TipsSData>();
public string GetData(TipsDataType tipsType)
{
foreach (var tipsSData in Datas)
{
if (tipsSData.tipsType == tipsType)
{
return tipsSData.context;
}
}
throw new NullReferenceException();
}
}
[System.Serializable]
public class TipsSData
{
public TipsDataType tipsType;
public string context;
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: dfce79b435004412ba57aabd7d03e78e
timeCreated: 1730085798