91 lines
3.0 KiB
C#
91 lines
3.0 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);
|
|
var url = currentLanguage == "zh-Hans" ? ConstRef.SurveyURL_CN : 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.ShowPreferredChapterPanel();
|
|
}
|
|
|
|
private void OpenSetting()
|
|
{
|
|
UIManager.Instance.ShowPreferredSettingPanel();
|
|
}
|
|
|
|
private void QuitApp()
|
|
{
|
|
GameManager.Instance.QuitApp();
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|