|
|
|
@ -50,7 +50,7 @@ public partial class EGSaveTest : Node,IEGFramework{
@@ -50,7 +50,7 @@ public partial class EGSaveTest : Node,IEGFramework{
|
|
|
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
|
|
# EGSave |
|
|
|
|
# EGSave 使用说明 |
|
|
|
|
|
|
|
|
|
## 属性 |
|
|
|
|
|
|
|
|
@ -58,23 +58,24 @@ public partial class EGSaveTest : Node,IEGFramework{
@@ -58,23 +58,24 @@ public partial class EGSaveTest : Node,IEGFramework{
|
|
|
|
|
|
|
|
|
|
## 方法 |
|
|
|
|
|
|
|
|
|
| 方法名 | 简介 | |
|
|
|
|
| ----------------------------------------------------------------- | ---------------- | |
|
|
|
|
| void LoadDataFile<TSaveData>(string path) | 加载数据文件(需要路径) | |
|
|
|
|
| void ReadData<TReadOnlyData>(string key,string data) | 读取数据(需获取字符串原始值) | |
|
|
|
|
| void ReadData<TReadOnlyData>(string key,byte[] data) | 读取数据(需获取字节流原始值) | |
|
|
|
|
| void LoadObjectFile<TSaveObject>(string path) | 加载对象文件(需要路径) | |
|
|
|
|
| void ReadObject<TReadOnlyObject>(string key,string data) | 读取对象(需获取字符串原始值) | |
|
|
|
|
| void ReadObject<TReadOnlyObject>(string key,byte[] data) | 读取对象(需获取字节流原始值) | |
|
|
|
|
| void Unload(string keyOrPath) | 卸载数据 | |
|
|
|
|
| List<string> GetKeys() | 获取所有加载过的key或者路径值 | |
|
|
|
|
| void SetObject<TObject>(string path,string objectKey,TObject obj) | 设置对象(写入文件) | |
|
|
|
|
| TObject GetObject<TObject>(string path,string key) | 获取对象(读取文件) | |
|
|
|
|
| void SetData<TData>(string path,string dataKey,TData data,int id) | 设置数据(写入文件) | |
|
|
|
|
| TData GetData<TData>(string keyOrPath,string key,int id) | 获取单个数据(读取文件) | |
|
|
|
|
| IEnumerable<TData> GetAllData<TData>(string keyOrPath,string key) | 获取全部数据(读取文件) | |
|
|
|
|
| OpenResPath() | 打开Res文件目录 | |
|
|
|
|
| OpenUserPath() | 打开User文件目录 | |
|
|
|
|
| 方法名 | 简介 | |
|
|
|
|
| -------------------------------------------------------------------------------------------------------- | ---------------- | |
|
|
|
|
| void LoadDataFile<TSaveData>(string path) | 加载数据文件(需要路径) | |
|
|
|
|
| void ReadData<TReadOnlyData>(string key,string data) | 读取数据(需获取字符串原始值) | |
|
|
|
|
| void ReadData<TReadOnlyData>(string key,byte[] data) | 读取数据(需获取字节流原始值) | |
|
|
|
|
| void LoadObjectFile<TSaveObject>(string path) | 加载对象文件(需要路径) | |
|
|
|
|
| void ReadObject<TReadOnlyObject>(string key,string data) | 读取对象(需获取字符串原始值) | |
|
|
|
|
| void ReadObject<TReadOnlyObject>(string key,byte[] data) | 读取对象(需获取字节流原始值) | |
|
|
|
|
| void Unload(string keyOrPath) | 卸载数据 | |
|
|
|
|
| List<string> GetKeys() | 获取所有加载过的key或者路径值 | |
|
|
|
|
| void SetObject<TObject>(string path,string objectKey,TObject obj) | 设置对象(写入文件) | |
|
|
|
|
| TObject GetObject<TObject>(string path,string key) | 获取对象(读取文件) | |
|
|
|
|
| void SetData<TData>(string path,string dataKey,TData data,int id) | 设置数据(写入文件) | |
|
|
|
|
| TData GetData<TData>(string keyOrPath,string key,int id) | 获取单个数据(读取文件) | |
|
|
|
|
| IEnumerable<TData> GetAllData<TData>(string keyOrPath,string key) | 获取全部数据(读取文件) | |
|
|
|
|
| IEnumerable<TData> FindData<TData>(string keyOrPath,string key,Expression<Func<TData, bool>> expression) | 查找符合条件的对应数据 | |
|
|
|
|
| OpenResPath() | 打开Res文件目录 | |
|
|
|
|
| OpenUserPath() | 打开User文件目录 | |
|
|
|
|
|
|
|
|
|
## 扩展方法 |
|
|
|
|
|
|
|
|
@ -219,8 +220,6 @@ Customer customer = this.EGSave().
@@ -219,8 +220,6 @@ Customer customer = this.EGSave().
|
|
|
|
|
GetObject<Customer>("Data1.json","Customer1"); |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### SetData<T>(string path,string dataKey,TData data,int id) |
|
|
|
|
|
|
|
|
|
把一条数据写入文件中的指定位置。特别注意,如果写入的位置超出了文件中的数据量,则会进行追加数据,否则覆盖对应位置的数据。 |
|
|
|
@ -242,9 +241,7 @@ this.EGSave().SetData(Path1,"Customer1",
@@ -242,9 +241,7 @@ this.EGSave().SetData(Path1,"Customer1",
|
|
|
|
|
new Customer() { Name = "Andy" },9); |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### TData GetData<T>(string keyOrPath,string key,int id) |
|
|
|
|
### T GetData<T>(string keyOrPath,string key,int id) |
|
|
|
|
|
|
|
|
|
获取文件中特定key值的列表里,第x条数据。 |
|
|
|
|
|
|
|
|
@ -278,6 +275,25 @@ foreach(Customer customer in allResult){
@@ -278,6 +275,25 @@ foreach(Customer customer in allResult){
|
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
### IEnumerable<T> FindData<T> (string keyOrPath,string key,Expression<Func<T, bool>> expression) |
|
|
|
|
|
|
|
|
|
查找文件中特定key值的全部符合条件的数据。 |
|
|
|
|
|
|
|
|
|
- keyOrPath:文件的路径,或者读取后存储的key值。 |
|
|
|
|
|
|
|
|
|
- key:文件中的数据列表对应的key值。 |
|
|
|
|
|
|
|
|
|
- Expression : 查询条件 |
|
|
|
|
|
|
|
|
|
```csharp |
|
|
|
|
string Path1 = "SaveData/TestCsv.csv".GetGodotResPath(); |
|
|
|
|
this.EGSave().LoadDataFile<EGCsvSave>(Path1); |
|
|
|
|
IEnumerable<Customer> findResult = this.EGSave().FindData<Customer>(Path1,"",cus=>cus.Id==0); |
|
|
|
|
foreach(Customer customer in findResult){ |
|
|
|
|
GD.Print(customer.Id +"|" + customer.Name); |
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
### OpenResPath() |
|
|
|
|
|
|
|
|
|
打开godot对应的res文件夹 |
|
|
|
@ -286,7 +302,7 @@ foreach(Customer customer in allResult){
@@ -286,7 +302,7 @@ foreach(Customer customer in allResult){
|
|
|
|
|
|
|
|
|
|
打开godot对应的user文件夹 |
|
|
|
|
|
|
|
|
|
# 接口说明与扩展建议 |
|
|
|
|
# IEGSave 接口说明与扩展建议 |
|
|
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
|
@ -301,8 +317,8 @@ foreach(Customer customer in allResult){
@@ -301,8 +317,8 @@ foreach(Customer customer in allResult){
|
|
|
|
|
| IEGSave | 读写数据加载 | |
|
|
|
|
| IEGSaveReadOnly | 只读数据加载 | |
|
|
|
|
| IEGSaveObjectReadOnly | 只读对象 | |
|
|
|
|
| IEGSaveDataReadOnly | 只读数据 | |
|
|
|
|
| IEGSaveObject | 读写对象 | |
|
|
|
|
| IEGSaveDataReadOnly | 只读数据 | |
|
|
|
|
| IEGSaveData | 读写数据 | |
|
|
|
|
|
|
|
|
|
## IEGSave |
|
|
|
@ -313,8 +329,58 @@ foreach(Customer customer in allResult){
@@ -313,8 +329,58 @@ foreach(Customer customer in allResult){
|
|
|
|
|
|
|
|
|
|
### 方法说明 |
|
|
|
|
|
|
|
|
|
void InitSaveFile(string path) |
|
|
|
|
### void InitSaveFile(string path) |
|
|
|
|
|
|
|
|
|
> 通过文件路径加载存储文件 |
|
|
|
|
|
|
|
|
|
## IEGSaveReadOnly |
|
|
|
|
|
|
|
|
|
只读文件的数据加载接口,通过字符串或者字节流加载成对应的数据对象。 |
|
|
|
|
|
|
|
|
|
### void InitReadOnly(string data); |
|
|
|
|
|
|
|
|
|
> 通过字符串加载文件内容,需要先从文本文件中读取,请求服务或者其他方式获取内容。 |
|
|
|
|
|
|
|
|
|
### void InitReadOnly(byte[] data); |
|
|
|
|
|
|
|
|
|
> 通过字节流加载文件内容,需要先从字节流文件中读取,请求服务或者其他方式获取内容。 |
|
|
|
|
|
|
|
|
|
## IEGSaveObjectReadOnly |
|
|
|
|
|
|
|
|
|
只读对象文件的获取数据接口 |
|
|
|
|
|
|
|
|
|
### T GetObject<T>(string objectKey) where T: new(); |
|
|
|
|
|
|
|
|
|
> 通过键获取对应的对象,如果是单个对象文件的话,则传空字符串即可。 |
|
|
|
|
|
|
|
|
|
## IEGSaveObject : IEGSaveObjectReadOnly |
|
|
|
|
|
|
|
|
|
对象文件的获取&写入数据接口 |
|
|
|
|
|
|
|
|
|
### void SetObject<T>(string objectKey,T obj); |
|
|
|
|
|
|
|
|
|
> 将key值与key对应的对象写入到该文件下。 |
|
|
|
|
|
|
|
|
|
## IEGSaveDataReadOnly |
|
|
|
|
|
|
|
|
|
只读数据文件的获取数据接口 |
|
|
|
|
|
|
|
|
|
### T GetData<T>(string dataKey,object id) where T : new(); |
|
|
|
|
|
|
|
|
|
> 用于获取指定条目的数据对象。 |
|
|
|
|
|
|
|
|
|
### IEnumerable<T> GetAll<T>(string dataKey) where T : new(); |
|
|
|
|
|
|
|
|
|
> 用于获取key值下的所有列表数据 |
|
|
|
|
|
|
|
|
|
### IEnumerable<T> FindData<T>(string dataKey,Expression<Func<T, bool>> expression) where T : new(); |
|
|
|
|
|
|
|
|
|
> 用于查找key值下的所有满足条件的列表数据 |
|
|
|
|
|
|
|
|
|
## IEGSaveData |
|
|
|
|
|
|
|
|
|
数据文件的获取&写入数据接口 |
|
|
|
|
|
|
|
|
|
### void SetData<TData>(string dataKey,TData data,object id); |
|
|
|
|
|
|
|
|
|
> 将key值与key对应的对象的写入到该文件对应的位置(id)下,如果存在数据则进行覆盖。 |
|
|
|
|