MiniGame-PushPush/Assets/Scripts/Manage/TableManager.cs

40 lines
1.1 KiB
C#
Raw Normal View History

using FirstVillain.Converter;
using FirstVillain.Entities;
using FirstVillain.Singleton;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using UnityEngine;
//<2F><>Ģ : <20><><EFBFBD>̺<EFBFBD><CCBA><EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
public class TableManager : UnitySingleton<TableManager>
{
private void LoadTable<T>(E_TABLE table, Action<Wrapper<T>> result)
{
AddressableManager.Instance.LoadAssetAsync<TextAsset>(table.ToString(), asset => {
result(JsonConvert.DeserializeObject<Wrapper<T>>(asset.text));
});
}
//<2F><><EFBFBD>̺<EFBFBD><CCBA><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̺<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Լ<EFBFBD><D4BC><EFBFBD> <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>...
#region Prop
public void GetPropInfoById(E_TABLE table, int id, Action<JPropInfoData> result)
{
LoadTable<JPropInfoData>(table, loaded =>
{
var list = loaded.list;
result(list.Find(arg => arg.Id == id));
});
}
public void GetPropInfoList(E_TABLE table, Action<List<JPropInfoData>> result)
{
LoadTable<JPropInfoData>(table, loaded =>
{
result(loaded.list);
});
}
#endregion Prop
}