98 lines
3.2 KiB
C#
98 lines
3.2 KiB
C#
using AibisDream.Utility;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace AibisDream.UI
|
|
{
|
|
public class StartPanel : MonoBehaviour, IUIPanel
|
|
{
|
|
public bool IsOpen => gameObject.activeSelf;
|
|
public bool IsCloseable => false;
|
|
|
|
#region 开启和关闭
|
|
|
|
public void Show()
|
|
{
|
|
gameObject.SetActive(true);
|
|
}
|
|
|
|
public void Hide()
|
|
{
|
|
gameObject.SetActive(false);
|
|
}
|
|
|
|
#endregion
|
|
|
|
private void Awake()
|
|
{
|
|
RegisterButton();
|
|
}
|
|
|
|
private void RegisterButton()
|
|
{
|
|
// 开始界面按钮
|
|
var tabs = transform.Find("Tabs");
|
|
tabs.Find("Start").GetComponent<Button>().onClick.AddListener(StartNewGame);
|
|
tabs.Find("Load Save File").GetComponent<Button>().onClick.AddListener(OpenSaveFilePanel);
|
|
tabs.Find("Setting").GetComponent<Button>().onClick.AddListener(OpenSetting);
|
|
tabs.Find("Quit").GetComponent<Button>().onClick.AddListener(QuitApp);
|
|
// 语言切换按钮
|
|
var language = transform.Find("Language");
|
|
language.Find("Chinese").GetComponent<Button>().onClick.AddListener(() => SetLanguage("zh-Hans"));
|
|
language.Find("English").GetComponent<Button>().onClick.AddListener(() => SetLanguage("en"));
|
|
language.Find("Japanese").GetComponent<Button>().onClick.AddListener(() => SetLanguage("ja-JP"));
|
|
|
|
// 其他链接按钮
|
|
var others = transform.Find("Others");
|
|
others.Find("问卷").GetComponent<Button>().onClick.AddListener(() =>
|
|
{
|
|
SettingLoader.Instance.TryRead("Language", out var currentLanguage);
|
|
string url = currentLanguage switch
|
|
{
|
|
"zh-Hans" => ConstRef.SurveyURL_CN,
|
|
"en" => ConstRef.SurveyURL_EN,
|
|
"ja-JP" => ConstRef.SurveyURL_JP,
|
|
_ => ConstRef.SurveyURL_EN,
|
|
};
|
|
Application.OpenURL(url);
|
|
});
|
|
others.Find("关注").GetComponent<Button>().onClick.AddListener(() =>
|
|
{
|
|
SettingLoader.Instance.TryRead("Language", out var currentLanguage);
|
|
var url = currentLanguage == "zh-Hans" ? ConstRef.QQURL : ConstRef.DiscordURL;
|
|
Application.OpenURL(url);
|
|
});
|
|
others.Find("愿望单").GetComponent<Button>().onClick.AddListener(() => Application.OpenURL(ConstRef.WishlistURL));
|
|
}
|
|
|
|
#region 按钮对应的函数
|
|
|
|
private void SetLanguage(string language)
|
|
{
|
|
SettingLoader.Instance.Write("Language", language);
|
|
}
|
|
|
|
private void StartNewGame()
|
|
{
|
|
GameManager.Instance.StartNewGame();
|
|
}
|
|
|
|
private void OpenSaveFilePanel()
|
|
{
|
|
UIManager.Instance.ShowPanel<ChapterPanel>();
|
|
}
|
|
|
|
private void OpenSetting()
|
|
{
|
|
UIManager.Instance.ShowPanel<SettingPanel>();
|
|
}
|
|
|
|
private void QuitApp()
|
|
{
|
|
GameManager.Instance.QuitApp();
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|