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(); } public List Datas = new(); [ScriptableCall(@" 添加float数据(允许使用除本以外的表达式), 随后可以用对象路径+索引获取变量值, e.g: CameraObject/DDT[3], 获取CameraObject/DDT对象路径下DDT数据中的第四个值 ")] public void Add(string value) { Datas.Add(Parse(value)); } /// /// 从特定的json中读取数据, 并调用 /// [ScriptableCall(@"从特定的json中读取数据, 并调用Add函数")] public void Load() { var file = new ToolFile(BindingDataJson); if (file.Exists() == false) { file.MustExistsPath() .SaveAsJson>(new()); Datas.Clear(); } else { Datas.Clear(); foreach (var item in file.LoadAsJson>()) { Add(item); } } } } }