refactor(localization): 迁移本地化为 CSV 驱动并支持多语言角色名
This commit is contained in:
@@ -13,8 +13,10 @@ namespace AibisDream.Kit
|
||||
public class ConfigUtil : SingletonBase<ConfigUtil>
|
||||
{
|
||||
private const string CharacterConfigPath = "/Config/character.csv";
|
||||
private const string ParamConfigPath = "/Config/params.csv";
|
||||
|
||||
private Dictionary<string, Character> _characters;
|
||||
private Dictionary<string, Param> _params;
|
||||
|
||||
/// <summary>
|
||||
/// 用于单例模式
|
||||
@@ -39,12 +41,23 @@ namespace AibisDream.Kit
|
||||
public override void OnSingletonInit()
|
||||
{
|
||||
InitCharacterConfig();
|
||||
InitParamConfig();
|
||||
}
|
||||
|
||||
private void InitCharacterConfig()
|
||||
{
|
||||
var characterList = CsvUtil.ReadAsBean<Character>(Application.streamingAssetsPath + CharacterConfigPath);
|
||||
_characters = characterList.ToDictionary(item => item.Key, item => item);
|
||||
_characters = characterList
|
||||
.Where(item => !string.IsNullOrWhiteSpace(item.Key))
|
||||
.ToDictionary(item => item.Key, item => item);
|
||||
}
|
||||
|
||||
private void InitParamConfig()
|
||||
{
|
||||
var paramList = CsvUtil.ReadAsBean<Param>(Application.streamingAssetsPath + ParamConfigPath);
|
||||
_params = paramList
|
||||
.Where(item => !string.IsNullOrWhiteSpace(item.Key))
|
||||
.ToDictionary(item => item.Key, item => item);
|
||||
}
|
||||
|
||||
|
||||
@@ -59,6 +72,17 @@ namespace AibisDream.Kit
|
||||
return _characters.TryGetValue(key, out character);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 按key获取参数本地化配置
|
||||
/// </summary>
|
||||
/// <param name="key">key</param>
|
||||
/// <param name="param">参数配置</param>
|
||||
/// <returns>是否能获取</returns>
|
||||
public bool TryGetParam(string key, out Param param)
|
||||
{
|
||||
return _params.TryGetValue(key, out param);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 按类型读取Json配置
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user