2023-10-12 19:12:46 +09:00
|
|
|
|
using FirstVillain.Converter;
|
2023-10-09 19:30:53 +09:00
|
|
|
|
using FirstVillain.Entities;
|
2023-10-12 21:40:32 +09:00
|
|
|
|
using FirstVillain.EventBus;
|
2023-10-09 19:30:53 +09:00
|
|
|
|
using FirstVillain.Singleton;
|
|
|
|
|
using Newtonsoft.Json;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using UnityEngine;
|
2023-10-12 21:40:32 +09:00
|
|
|
|
using UnityEngine.AddressableAssets;
|
|
|
|
|
using UnityEngine.ResourceManagement.AsyncOperations;
|
2023-10-09 19:30:53 +09:00
|
|
|
|
|
|
|
|
|
//<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>
|
|
|
|
|
{
|
2023-10-12 21:40:32 +09:00
|
|
|
|
public int LoadTableCount { get; private set; } = 0;
|
|
|
|
|
|
|
|
|
|
public void LoadTable<T>(E_TABLE table, Action<Wrapper<T>> result)
|
|
|
|
|
{
|
|
|
|
|
LoadTableCount++;
|
|
|
|
|
LoadTableAsset(table, result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void LoadTableAsset<T>(E_TABLE table, Action<Wrapper<T>> result)
|
2023-10-09 19:30:53 +09:00
|
|
|
|
{
|
2023-10-12 21:40:32 +09:00
|
|
|
|
AddressableManager.Instance.LoadAssetAsync<TextAsset>(table.ToString(), asset => {
|
|
|
|
|
result(JsonConvert.DeserializeObject<Wrapper<T>>(asset.text));
|
2023-10-09 19:30:53 +09:00
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
2023-10-12 21:40:32 +09:00
|
|
|
|
#region LoadAssets
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endregion LoadAssets
|
2023-10-09 19:30:53 +09:00
|
|
|
|
//<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)
|
|
|
|
|
{
|
2023-10-12 21:40:32 +09:00
|
|
|
|
LoadTableAsset<JPropInfoData>(table, loaded =>
|
2023-10-09 19:30:53 +09:00
|
|
|
|
{
|
|
|
|
|
var list = loaded.list;
|
|
|
|
|
result(list.Find(arg => arg.Id == id));
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void GetPropInfoList(E_TABLE table, Action<List<JPropInfoData>> result)
|
|
|
|
|
{
|
2023-10-12 21:40:32 +09:00
|
|
|
|
LoadTableAsset<JPropInfoData>(table, loaded =>
|
2023-10-09 19:30:53 +09:00
|
|
|
|
{
|
|
|
|
|
result(loaded.list);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion Prop
|
|
|
|
|
}
|