Merge branch 'main' of http://10.27.16.144:3000/kawagiri/TH1
This commit is contained in:
commit
69715ba9df
@ -155,18 +155,41 @@ namespace Logic.Editor
|
||||
{
|
||||
EditorGUILayout.BeginVertical(EditorStyles.helpBox);
|
||||
InspectorUtils.InspectorTextWidthRich($"<b>{item.ID} : </b>");
|
||||
InspectorUtils.InspectorTextWidthRich($" <b>中文:{item.ZH} </b>");
|
||||
InspectorUtils.InspectorTextWidthRich($" <b>中文:</b> {item.ZH}");
|
||||
if (!string.IsNullOrEmpty(item.EN))
|
||||
InspectorUtils.InspectorTextWidthRich($" <b>英语:{item.EN} </b>");
|
||||
InspectorUtils.InspectorTextWidthRich($" <b>英语:</b> {item.EN}");
|
||||
if (!string.IsNullOrEmpty(item.JP))
|
||||
InspectorUtils.InspectorTextWidthRich($" <b>日语:{item.JP} </b>");
|
||||
InspectorUtils.InspectorTextWidthRich($" <b>日语:</b> {item.JP}");
|
||||
if (!string.IsNullOrEmpty(item.KR))
|
||||
InspectorUtils.InspectorTextWidthRich($" <b>韩语:{item.KR} </b>");
|
||||
InspectorUtils.InspectorTextWidthRich($" <b>韩语:</b> {item.KR}");
|
||||
var unicode = "";
|
||||
foreach (var c in item.ZH) unicode+= $"{(int)c:X4} ";
|
||||
InspectorUtils.InspectorTextWidthRich($" <b>Unicode:</b> {unicode}");
|
||||
EditorGUILayout.EndVertical();
|
||||
EditorGUILayout.Space();
|
||||
}
|
||||
|
||||
// 新增辅助方法:移除 CSV 字段两端的引号并处理内部转义
|
||||
private void DuplicateRemoval()
|
||||
{
|
||||
// 排序 asset.items 保证id从小到大
|
||||
_asset.Items = _asset.Items.OrderBy(i => i.ID).ToList();
|
||||
_zhStrDict.Clear();
|
||||
var deleteItem = new HashSet<MultilingualItem>();
|
||||
foreach (var item in _asset.Items)
|
||||
{
|
||||
if (_zhStrDict.ContainsKey(item.ZH))
|
||||
{
|
||||
deleteItem.Add(item);
|
||||
continue;
|
||||
}
|
||||
|
||||
_zhStrDict[item.ZH] = item.ID;
|
||||
}
|
||||
|
||||
foreach (var item in deleteItem) _asset.Items.Remove(item);
|
||||
_asset.RefreshDict();
|
||||
}
|
||||
|
||||
private string RemoveCsvQuotes(string field)
|
||||
{
|
||||
if (string.IsNullOrEmpty(field)) return field;
|
||||
@ -218,6 +241,7 @@ namespace Logic.Editor
|
||||
private void AssetExportToExcel()
|
||||
{
|
||||
_zhStrDict.Clear();
|
||||
DuplicateRemoval();
|
||||
foreach (var item in _asset.Items) _zhStrDict[item.ZH] = item.ID;
|
||||
if (_asset.Items.Count != 0) _idIndex = _asset.Items[^1].ID + 1;
|
||||
else _idIndex = 1;
|
||||
@ -283,7 +307,7 @@ namespace Logic.Editor
|
||||
StringBuilder sb = new StringBuilder();
|
||||
foreach (var item in _asset.Items)
|
||||
{
|
||||
sb.Append($"{item.ID}%$#@!{item.ZH}%$#@!{item.EN}%$#@!{item.JP}%$#@!{item.KR}!@#$%\n");
|
||||
sb.Append($"{item.ID}%$#@!{item.ZH}%$#@!{item.EN}%$#@!{item.JP}%$#@!{item.KR}!@#$%");
|
||||
}
|
||||
sw.Write(sb.ToString());
|
||||
}
|
||||
|
||||
@ -24,23 +24,26 @@ namespace Logic.Multilingual
|
||||
|
||||
public void Init()
|
||||
{
|
||||
if (!_multilingualData) _multilingualData = Resources.Load<MultilingualData>("Export/Multilingual");
|
||||
RefreshMultilingualData();
|
||||
_currentType = (MultilingualType)PlayerPrefs.GetInt("Multilingual", 0);
|
||||
ChangedMultilingual(_currentType);
|
||||
}
|
||||
|
||||
public string GetMultilingualText(uint id)
|
||||
{
|
||||
RefreshMultilingualData();
|
||||
return _multilingualData.GetMultilingualStr(id, _currentType);
|
||||
}
|
||||
|
||||
public TMP_FontAsset GetMultilingualFont(uint fontId)
|
||||
{
|
||||
RefreshMultilingualData();
|
||||
return _multilingualData.GetMultilingualFont(fontId, _currentType);
|
||||
}
|
||||
|
||||
public void ChangedMultilingual(MultilingualType type)
|
||||
{
|
||||
RefreshMultilingualData();
|
||||
RefreshTextComs();
|
||||
_currentType = type;
|
||||
foreach (var textCom in _textComs) textCom.OnMultilingualChanged();
|
||||
@ -48,6 +51,7 @@ namespace Logic.Multilingual
|
||||
|
||||
public uint GetFontGroupID(TMP_FontAsset font)
|
||||
{
|
||||
RefreshMultilingualData();
|
||||
return _multilingualData.GetFontGroupID(font);
|
||||
}
|
||||
|
||||
@ -61,6 +65,11 @@ namespace Logic.Multilingual
|
||||
multilingual.OnMultilingualChanged();
|
||||
}
|
||||
|
||||
private void RefreshMultilingualData()
|
||||
{
|
||||
if (!_multilingualData) _multilingualData = Resources.Load<MultilingualData>("Export/Multilingual");
|
||||
}
|
||||
|
||||
private void RefreshTextComs()
|
||||
{
|
||||
var uiObj = GameObject.Find("UICanvas");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user