com.alicizax.unity.framework/Runtime/Localization/LocalizationComponent.cs
陈思海 cad7722e44 优化
1.重名所有App级模块为Service
2.移除Module中心 移除SingletonManager
3.引入Service Scope Context概念  避免上下文Manager到处引用
4.修复部分bug
2026-03-26 16:14:05 +08:00

37 lines
1.1 KiB
C#

using UnityEngine;
namespace AlicizaX.Localization.Runtime
{
/// <summary>
/// 本地化组件。
/// </summary>
[DisallowMultipleComponent]
[AddComponentMenu("Game Framework/Localization")]
public sealed class LocalizationComponent : MonoBehaviour
{
private ILocalizationService _mLocalizationService = null;
public static string PrefsKey = Application.dataPath.GetHashCode() + "Language";
[SerializeField] private string _language;
internal void SetLanguage(string language)
{
_language = language;
}
private void Start()
{
_mLocalizationService = AppServices.GetOrCreateScope<AppScope>().Register(new LocalizationService());
if (_mLocalizationService == null)
{
Log.Info("Localization manager is invalid.");
}
#if UNITY_EDITOR
_language = UnityEditor.EditorPrefs.GetString(LocalizationComponent.PrefsKey, "None");
#endif
_mLocalizationService.Initialize(_language);
}
}
}