128 lines
3.0 KiB
C#
128 lines
3.0 KiB
C#
using Logic.Multilingual;
|
|
using TH1_Logic.Config;
|
|
using TH1_Logic.Core;
|
|
using TH1_UI.View.Outside;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace TH1_UI.View.Top
|
|
{
|
|
public class UITopSettingView : Base.View
|
|
{
|
|
//public Button closeButton;
|
|
public ViDelegateAssisstant.Dele OnBtnCloseClick;
|
|
|
|
public Button CloseButton;
|
|
public Button BlockButton;
|
|
|
|
public UIOutsideSelectOptionGroupMono LanguageOptionGroup;
|
|
public Toggle KeyMomentToggle;
|
|
public Toggle BgmContinuousToggle;
|
|
|
|
protected override void OnInit()
|
|
{
|
|
base.OnInit();
|
|
|
|
CloseButton.onClick.RemoveAllListeners();
|
|
CloseButton.onClick.AddListener(() => { OnBtnCloseClick.Invoke(); });
|
|
BlockButton.onClick.RemoveAllListeners();
|
|
BlockButton.onClick.AddListener(() => { OnBtnCloseClick.Invoke(); });
|
|
|
|
if (KeyMomentToggle != null)
|
|
{
|
|
KeyMomentToggle.onValueChanged.RemoveAllListeners();
|
|
KeyMomentToggle.onValueChanged.AddListener(OnKeyMomentToggleChanged);
|
|
}
|
|
|
|
if (BgmContinuousToggle != null)
|
|
{
|
|
BgmContinuousToggle.onValueChanged.RemoveAllListeners();
|
|
BgmContinuousToggle.onValueChanged.AddListener(OnBgmContinuousToggleChanged);
|
|
}
|
|
}
|
|
|
|
private void OnKeyMomentToggleChanged(bool isOn)
|
|
{
|
|
ConfigManager.Instance.Config.KeyMomentEnabled = isOn;
|
|
}
|
|
|
|
private void OnBgmContinuousToggleChanged(bool isOn)
|
|
{
|
|
ConfigManager.Instance.Config.BgmContinuousPlay = isOn;
|
|
}
|
|
|
|
public void RefreshLanguageOption()
|
|
{
|
|
var lan = MultilingualManager.Instance.GetCurLanguage();
|
|
uint idx = lan switch
|
|
{
|
|
MultilingualType.ZH => 0,
|
|
MultilingualType.TDZH => 1,
|
|
MultilingualType.JP => 2,
|
|
MultilingualType.EN => 3,
|
|
MultilingualType.KR => 4,
|
|
_ => 3 //默认英文
|
|
};
|
|
LanguageOptionGroup.Init(idx);
|
|
|
|
LanguageOptionGroup.OnOptionClicked = OnLanguageClicked;
|
|
}
|
|
|
|
private void OnLanguageClicked(uint idx)
|
|
{
|
|
// 触发语言切换 0=CN 1=TC 2=JP 3=EN 4=KR
|
|
switch (idx)
|
|
{
|
|
case 0:
|
|
MultilingualManager.Instance.ChangedMultilingual(MultilingualType.ZH);
|
|
break;
|
|
case 1:
|
|
MultilingualManager.Instance.ChangedMultilingual(MultilingualType.TDZH);
|
|
break;
|
|
case 2:
|
|
MultilingualManager.Instance.ChangedMultilingual(MultilingualType.JP);
|
|
break;
|
|
case 3:
|
|
MultilingualManager.Instance.ChangedMultilingual(MultilingualType.EN);
|
|
break;
|
|
case 4:
|
|
MultilingualManager.Instance.ChangedMultilingual(MultilingualType.KR);
|
|
break;
|
|
}
|
|
}
|
|
|
|
//通常一局只会set一次,每次都是完全清空,然后绑定新的一个对局的按钮
|
|
public void SetContent()
|
|
{
|
|
RefreshLanguageOption();
|
|
RefreshKeyMomentToggle();
|
|
RefreshBgmContinuousToggle();
|
|
}
|
|
|
|
public void RefreshKeyMomentToggle()
|
|
{
|
|
if (KeyMomentToggle != null)
|
|
{
|
|
KeyMomentToggle.isOn = ConfigManager.Instance.Config.KeyMomentEnabled;
|
|
}
|
|
}
|
|
|
|
public void RefreshBgmContinuousToggle()
|
|
{
|
|
if (BgmContinuousToggle != null)
|
|
{
|
|
BgmContinuousToggle.isOn = ConfigManager.Instance.Config.BgmContinuousPlay;
|
|
}
|
|
}
|
|
|
|
public void CloseView()
|
|
{
|
|
//AudioManager.Instance.StopMusic();
|
|
}
|
|
|
|
|
|
}
|
|
|
|
}
|