1. 编辑器界面支持本地化配置。 2. 资源构建过程中的异常输出增加错误码提示。 3. 修复了资源构建界面乱码问题。 4. 修复了自动收集着色器对依赖资源无效的问题。
50 lines
1.1 KiB
C#
50 lines
1.1 KiB
C#
using System;
|
|
using UnityEditor;
|
|
using UnityEngine;
|
|
|
|
namespace YooAsset.Editor
|
|
{
|
|
[InitializeOnLoad]
|
|
internal static class Localization
|
|
{
|
|
private static ILocalization _localization;
|
|
|
|
static Localization()
|
|
{
|
|
var types = EditorTools.GetAssignableTypes(typeof(ILocalization));
|
|
_localization = (ILocalization)Activator.CreateInstance(types[0]);
|
|
CheckContent();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 检测多语言是否配置完整
|
|
/// </summary>
|
|
private static void CheckContent()
|
|
{
|
|
foreach (ELanguageKey key in Enum.GetValues(typeof(ELanguageKey)))
|
|
{
|
|
_localization.GetLanguage(key);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 字符串转换为枚举类型
|
|
/// </summary>
|
|
public static ELanguageKey Convert(string enumName)
|
|
{
|
|
return (ELanguageKey)Enum.Parse(typeof(ELanguageKey), enumName);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取多语言内容
|
|
/// </summary>
|
|
public static string Language(ELanguageKey key, params object[] args)
|
|
{
|
|
string content = _localization.GetLanguage(key);
|
|
if (args.Length > 0)
|
|
return string.Format(content, args);
|
|
else
|
|
return content;
|
|
}
|
|
}
|
|
} |