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
|
|
|
|
|
|
|
|
|
public class TableManager : UnitySingleton<TableManager>
|
|
|
|
|
{
|
2023-10-18 20:45:27 +09:00
|
|
|
|
public Wrapper<T> LoadTable<T>(E_TABLE table)
|
2023-10-12 21:40:32 +09:00
|
|
|
|
{
|
2023-10-18 20:45:27 +09:00
|
|
|
|
return LoadTableAsset<T>(table);
|
2023-10-12 21:40:32 +09:00
|
|
|
|
}
|
|
|
|
|
|
2023-10-18 20:45:27 +09:00
|
|
|
|
private Wrapper<T> LoadTableAsset<T>(E_TABLE table)
|
2023-10-09 19:30:53 +09:00
|
|
|
|
{
|
2023-10-18 20:45:27 +09:00
|
|
|
|
var asset = AddressableManager.Instance.LoadAssetAsync<TextAsset>(table.ToString());
|
|
|
|
|
return 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>...
|
2023-10-21 18:40:11 +09:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD> <20><DEB8> <20>÷<EFBFBD><C3B7>ΰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ°<CFB4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD>
|
2023-10-09 19:30:53 +09:00
|
|
|
|
#region Prop
|
2023-10-18 20:45:27 +09:00
|
|
|
|
public JPropInfoData GetPropInfoById(int id)
|
|
|
|
|
{
|
|
|
|
|
var list = LoadTableAsset<JPropInfoData>(E_TABLE.JPropInfo).list;
|
|
|
|
|
return list.Find(arg => arg.Id == id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public List<JPropInfoData> GetPropInfoList(E_TABLE table)
|
2023-10-09 19:30:53 +09:00
|
|
|
|
{
|
2023-10-18 20:45:27 +09:00
|
|
|
|
return LoadTableAsset<JPropInfoData>(table).list;
|
2023-10-09 19:30:53 +09:00
|
|
|
|
}
|
|
|
|
|
|
2023-10-18 20:45:27 +09:00
|
|
|
|
public List<JPropInfoData> GetPropGroupList(int groupId)
|
2023-10-09 19:30:53 +09:00
|
|
|
|
{
|
2023-10-18 20:45:27 +09:00
|
|
|
|
var list = LoadTableAsset<JPropInfoData>(E_TABLE.JPropInfo).list;
|
|
|
|
|
return list.FindAll(arg => arg.PropGroupId == groupId);
|
2023-10-09 19:30:53 +09:00
|
|
|
|
}
|
|
|
|
|
|
2023-10-21 15:37:06 +09:00
|
|
|
|
public List<JPropRateData> GetProbByType(string type)
|
|
|
|
|
{
|
|
|
|
|
var list = LoadTableAsset<JPropRateData>(E_TABLE.JPropRate).list;
|
|
|
|
|
return list.FindAll(arg => arg.PropType == type);
|
|
|
|
|
}
|
|
|
|
|
|
2023-10-09 19:30:53 +09:00
|
|
|
|
#endregion Prop
|
2023-10-21 15:37:06 +09:00
|
|
|
|
|
|
|
|
|
#region Stage Item
|
|
|
|
|
public List<JStageItemData> GetStageItemList()
|
|
|
|
|
{
|
|
|
|
|
return LoadTableAsset<JStageItemData>(E_TABLE.JStageItem).list;
|
|
|
|
|
}
|
|
|
|
|
public JStageItemEffectData GetStageItemEffect(int id)
|
|
|
|
|
{
|
|
|
|
|
var list = LoadTableAsset<JStageItemEffectData>(E_TABLE.JStageItemEffect).list;
|
|
|
|
|
return list.Find(arg => arg.Id == id);
|
|
|
|
|
}
|
|
|
|
|
#endregion Stage Item
|
2023-10-09 19:30:53 +09:00
|
|
|
|
}
|