UI系统组件
This commit is contained in:
@@ -7,13 +7,14 @@ using UnityEditor;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UIElements;
|
||||
using BaseGames.Localization;
|
||||
using BaseGames.Editor.Localization;
|
||||
|
||||
namespace BaseGames.Editor.Modules
|
||||
{
|
||||
/// <summary>
|
||||
/// DataHub 本地化审计模块。
|
||||
/// 通过 <see cref="ILocalizableAsset"/> 接口扫描项目中所有 ScriptableObject 的本地化 Key,
|
||||
/// 与 Resources/Localization/ JSON 表比对,列出缺失条目和命名不规范条目。
|
||||
/// 与 Assets/_Game/Data/Localization/ JSON 表比对,列出缺失条目和命名不规范条目。
|
||||
///
|
||||
/// 菜单入口:DataHub → "本地化审计"
|
||||
/// </summary>
|
||||
@@ -168,15 +169,8 @@ namespace BaseGames.Editor.Modules
|
||||
|
||||
private void DiscoverLanguages()
|
||||
{
|
||||
string root = "Assets/Resources/Localization";
|
||||
if (!AssetDatabase.IsValidFolder(root)) return;
|
||||
|
||||
foreach (var langFolder in AssetDatabase.GetSubFolders(root))
|
||||
{
|
||||
string langName = Path.GetFileName(langFolder);
|
||||
if (Enum.TryParse<Language>(langName, out var lang))
|
||||
_availableLanguages.Add(lang);
|
||||
}
|
||||
// 统一经 LocalizationFileIO 扫描真相源目录(Assets/_Game/Data/Localization)
|
||||
_availableLanguages.AddRange(LocalizationFileIO.DiscoverLanguages());
|
||||
}
|
||||
|
||||
// ── 通用 ILocalizableAsset 扫描 ───────────────────────────────────────
|
||||
@@ -556,16 +550,14 @@ namespace BaseGames.Editor.Modules
|
||||
|
||||
private static void PingTableFile(string language, string tableName)
|
||||
{
|
||||
string path = $"Assets/Resources/Localization/{language}/{tableName}.json";
|
||||
var asset = AssetDatabase.LoadAssetAtPath<TextAsset>(path);
|
||||
if (asset != null)
|
||||
if (Enum.TryParse<Language>(language, out var lang))
|
||||
{
|
||||
EditorGUIUtility.PingObject(asset);
|
||||
Selection.activeObject = asset;
|
||||
if (LocalizationFileIO.Ping(lang, tableName) == null)
|
||||
Debug.LogWarning($"[LocalizationAudit] 未找到表文件:{LocalizationPaths.AssetPath(lang, tableName)}");
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogWarning($"[LocalizationAudit] 未找到表文件:{path}");
|
||||
LocalizationFileIO.PingAny(tableName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user