52 lines
1.2 KiB
C#
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);
|
|
}
|
|
} |