FM/Assets/Scripts/Base/Language/LanguageManager.cs

52 lines
1.2 KiB
C#

using System;
using HK;
using OpenCC.Unity;
using UnityEngine;
public class LanguageManager : MonoManager<LanguageManager>
{
public enum LanguageType
{
English = 0,
Chinese,
}
public delegate void ChangeLanguage(LanguageType type);
OpenChineseConverter converter;
[SerializeField] private bool isSimplified;
public bool IsSimplified => isSimplified;
public ChangeLanguage LanguageChange;
public OpenChineseConverter Converter => converter;
public LanguageType type;
public override void Initialize()
{
base.Initialize();
converter = new OpenChineseConverter();
type = LanguageType.English;
}
public string T2S(string content)
{
return converter.T2S(content);
}
public string S2T(string content)
{
return converter.S2T(content);
}
public void ChangeLanguageType(LanguageType type)
{
this.type = type;
LanguageChange?.Invoke(type);
}
public void ChangeLanguageType()
{
this.type = type == LanguageType.English ? LanguageType.Chinese : LanguageType.English;
LanguageChange?.Invoke(type);
}
}