LanguageModule And Procedure InitLanguage

This commit is contained in:
Alex-Rachel
2025-03-12 13:18:21 +08:00
parent 39c9d327a1
commit bbeecb2855
237 changed files with 21497 additions and 77 deletions

View File

@@ -11,6 +11,14 @@ namespace Procedure
public class ProcedureLaunch : ProcedureBase
{
public override bool UseNativeDialog => true;
private IAudioModule _audioModule;
protected override void OnInit(ProcedureOwner procedureOwner)
{
_audioModule = ModuleSystem.GetModule<IAudioModule>();
base.OnInit(procedureOwner);
}
protected override void OnEnter(ProcedureOwner procedureOwner)
{
@@ -36,49 +44,49 @@ namespace Procedure
private void InitLanguageSettings()
{
// if (GameModule.Resource.PlayMode == EPlayMode.EditorSimulateMode && GameModule.Base.EditorLanguage == Language.Unspecified)
// {
// // 编辑器资源模式直接使用 Inspector 上设置的语言
// return;
// }
//
// Language language = GameModule.Localization.Language;
// if (GameModule.Setting.HasSetting(Constant.Setting.Language))
// {
// try
// {
// string languageString = GameModule.Setting.GetString(Constant.Setting.Language);
// language = (Language)System.Enum.Parse(typeof(Language), languageString);
// }
// catch(System.Exception exception)
// {
// Log.Error("Init language error, reason {0}",exception.ToString());
// }
// }
//
// if (language != Language.English
// && language != Language.ChineseSimplified
// && language != Language.ChineseTraditional)
// {
// // 若是暂不支持的语言,则使用英语
// language = Language.English;
//
// GameModule.Setting.SetString(Constant.Setting.Language, language.ToString());
// GameModule.Setting.Save();
// }
//
// GameModule.Localization.Language = language;
// Log.Info("Init language settings complete, current language is '{0}'.", language.ToString());
if (_resourceModule.PlayMode == EPlayMode.EditorSimulateMode && RootModule.Instance.EditorLanguage == Language.Unspecified)
{
// 编辑器资源模式直接使用 Inspector 上设置的语言
return;
}
Language language = LocalizationModule.Instance.Language;
if (Utility.PlayerPrefs.HasSetting(Constant.Setting.Language))
{
try
{
string languageString = Utility.PlayerPrefs.GetString(Constant.Setting.Language);
language = (Language)System.Enum.Parse(typeof(Language), languageString);
}
catch(System.Exception exception)
{
Log.Error("Init language error, reason {0}",exception.ToString());
}
}
if (language != Language.English
&& language != Language.ChineseSimplified
&& language != Language.ChineseTraditional)
{
// 若是暂不支持的语言,则使用英语
language = Language.English;
Utility.PlayerPrefs.SetString(Constant.Setting.Language, language.ToString());
Utility.PlayerPrefs.Save();
}
LocalizationModule.Instance.Language = language;
Log.Info("Init language settings complete, current language is '{0}'.", language.ToString());
}
private void InitSoundSettings()
{
// GameModule.Audio.MusicEnable = !GameModule.Setting.GetBool(Constant.Setting.MusicMuted, false);
// GameModule.Audio.MusicVolume = GameModule.Setting.GetFloat(Constant.Setting.MusicVolume, 1f);
// GameModule.Audio.SoundEnable = !GameModule.Setting.GetBool(Constant.Setting.SoundMuted, false);
// GameModule.Audio.SoundVolume = GameModule.Setting.GetFloat(Constant.Setting.SoundVolume, 1f);
// GameModule.Audio.UISoundEnable = !GameModule.Setting.GetBool(Constant.Setting.UISoundMuted, false);
// GameModule.Audio.UISoundVolume = GameModule.Setting.GetFloat(Constant.Setting.UISoundVolume, 1f);
_audioModule.MusicEnable = !Utility.PlayerPrefs.GetBool(Constant.Setting.MusicMuted, false);
_audioModule.MusicVolume = Utility.PlayerPrefs.GetFloat(Constant.Setting.MusicVolume, 1f);
_audioModule.SoundEnable = !Utility.PlayerPrefs.GetBool(Constant.Setting.SoundMuted, false);
_audioModule.SoundVolume = Utility.PlayerPrefs.GetFloat(Constant.Setting.SoundVolume, 1f);
_audioModule.UISoundEnable = !Utility.PlayerPrefs.GetBool(Constant.Setting.UISoundMuted, false);
_audioModule.UISoundVolume = Utility.PlayerPrefs.GetFloat(Constant.Setting.UISoundVolume, 1f);
Log.Info("Init sound settings complete.");
}
}