NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/DataTable/StringCfg/StringConfig.cs

65 lines
1.8 KiB
C#
Raw Normal View History

2023-08-22 19:08:45 +08:00
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Bright.Serialization;
using System.Collections.Generic;
using SimpleJSON;
namespace cfg.StringCfg
{
public sealed partial class StringConfig
{
private readonly Dictionary<string, StringCfg.DataString> _dataMap;
private readonly List<StringCfg.DataString> _dataList;
public StringConfig(JSONNode _json)
{
_dataMap = new Dictionary<string, StringCfg.DataString>();
_dataList = new List<StringCfg.DataString>();
foreach(JSONNode _row in _json.Children)
{
var _v = StringCfg.DataString.DeserializeDataString(_row);
_dataList.Add(_v);
_dataMap.Add(_v.Key, _v);
}
PostInit();
}
public Dictionary<string, StringCfg.DataString> DataMap => _dataMap;
public List<StringCfg.DataString> DataList => _dataList;
public StringCfg.DataString GetOrDefault(string key) => _dataMap.TryGetValue(key, out var v) ? v : null;
public StringCfg.DataString Get(string key) => _dataMap[key];
public StringCfg.DataString this[string key] => _dataMap[key];
public void Resolve(Dictionary<string, object> _tables)
{
foreach(var v in _dataList)
{
v.Resolve(_tables);
}
PostResolve();
}
public void TranslateText(System.Func<string, string, string> translator)
{
foreach(var v in _dataList)
{
v.TranslateText(translator);
}
}
partial void PostInit();
partial void PostResolve();
}
}