4df1f6522f
- dll에 해당 기능 추가 및 class 스크립트 생성기능 추가
40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
using FirstVillain.Entities;
|
|
using FirstVillain.Singleton;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
//규칙 : 테이블을 필요할 때마다 로드해서 사용한다.
|
|
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));
|
|
});
|
|
}
|
|
|
|
//테이블별로 테이블 가져오는 함수를 계속 추가해 줘야하는 단점...
|
|
#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
|
|
}
|