Files
aibis-dream/Assets/Scripts/Game Loop/StartMenu.cs
T
2025-03-10 21:55:18 +08:00

125 lines
3.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using AibisDream.Kit;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using RainbowArt.CleanFlatUI;
namespace AibisDream
{
public class StartMenu : Singleton<StartMenu>
{
[SerializeField] private GameObject startMenuPanel;
[SerializeField] private GameObject EndMenuPanel;
[SerializeField] private Button startButton;
[SerializeField] private Button selectLevelButton;
[SerializeField] private Button quitButton;
[SerializeField] private Button settingButton;
[SerializeField] private ModalWindow settingWindow;
[SerializeField] private Button surveyButton;
[SerializeField] private Button followButton;
[SerializeField] private GameObject startTab;
[SerializeField] private SceneSelectionUIController sceneSelection;
[SerializeField] private GameObject levelTab;
[SerializeField] private GameObject buttonPrefab;
[SerializeField] private string surveyURL = "https://wj.qq.com/s2/15348910/3c8c/"; // 替换为你的问卷链接
[SerializeField] private string BugSurveyURL = "https://wj.qq.com/s2/18309384/e356/";
[SerializeField] private string qqURL =
"https://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=XQFpOqRb1_zqkCdR2bLT3kHb11XzZ54T&authKey=w8G8qxzecnATXDOec1Ybv8LA%2FTTN8gQkyegvbK%2FUZ9m90WxggTjXy2U6%2FJesWJF3&noverify=0&group_code=325268983";
private void OnEnable()
{
startButton.onClick.AddListener(StartGame);
selectLevelButton.onClick.AddListener(SelectLevel);
quitButton.onClick.AddListener(QuitGame);
surveyButton.onClick.AddListener(OpenLink);
followButton.onClick.AddListener(OpenQQLink);
}
private void OnDisable()
{
startButton?.onClick.RemoveListener(StartGame);
selectLevelButton?.onClick.RemoveListener(SelectLevel);
quitButton?.onClick.RemoveListener(QuitGame);
surveyButton?.onClick.RemoveListener(OpenLink);
followButton?.onClick.RemoveListener(OpenQQLink);
}
public void StartGame()
{
GameLoopManager.Instance.StartNewGame();
}
public void SelectLevel()
{
SwitchToLevelTab();
}
public void BackToMenu()
{
GameLoopManager.Instance.RestartGame();
}
private void SwitchToLevelTab()
{
sceneSelection.ShowSceneSelection(GameLoopManager.Instance.totalSceneSos);
}
private void SwitchToStartTab()
{
startTab.SetActive(true);
levelTab.SetActive(false);
}
public void OpenLink()
{
Application.OpenURL(surveyURL);
}
public void OpenBugLink()
{
Application.OpenURL(BugSurveyURL);
}
public void OpenQQLink()
{
Application.OpenURL(qqURL);
}
public void QuitGame()
{
Application.Quit();
}
public void HideStartMenu()
{
startMenuPanel.SetActive(false);
}
public void showStartMenu()
{
startMenuPanel.SetActive(true);
}
public void OpenEndMenu()
{
EndMenuPanel.SetActive(true);
}
public void HideEndMenu()
{
EndMenuPanel.SetActive(false);
}
}
}