Files
Convention-Unity-Demo/Assets/Scripts/Framework/DDT.cs

51 lines
1.4 KiB
C#
Raw Normal View History

2025-09-25 19:04:05 +08:00
using System.Collections.Generic;
using Convention;
using UnityEngine;
namespace Demo.Game
{
public class DDT : ScriptableObject
{
public string BindingDataJson => $"{ScriptPath}.json";
public static DDT Make()
{
return new GameObject().AddComponent<DDT>();
}
public List<float> Datas = new();
[ScriptableCall(@"
float数据(使), +,
2025-09-25 19:04:05 +08:00
e.g: CameraObject/DDT[3], CameraObject/DDT对象路径下DDT数据中的第四个值
")]
public void Add(string value)
{
Datas.Add(Parse(value));
2025-09-25 19:04:05 +08:00
}
/// <summary>
/// 从特定的json中读取数据, 并调用<see cref="Add(string)"/>
2025-09-25 19:04:05 +08:00
/// </summary>
[ScriptableCall(@"从特定的json中读取数据, 并调用Add函数")]
2025-09-25 19:04:05 +08:00
public void Load()
{
var file = new ToolFile(BindingDataJson);
if (file.Exists() == false)
{
file.MustExistsPath()
.SaveAsJson<List<string>>(new());
2025-09-25 19:04:05 +08:00
Datas.Clear();
}
else
{
Datas.Clear();
foreach (var item in file.LoadAsJson<List<string>>())
{
Add(item);
}
2025-09-25 19:04:05 +08:00
}
}
}
}