using System.Collections; using System.Collections.Generic; using AibisDream.Kit; using TMPro; using UnityEngine; using UnityEngine.UI; namespace AibisDream { public class StartMenu : Singleton { [SerializeField] private Button startButton; [SerializeField] private Button selectLevelButton; [SerializeField] private Button quitButton; [SerializeField] private GameObject startTab; [SerializeField] private GameObject levelTab; [SerializeField] private TalkSceneSO[] talkSceneSoArray; [SerializeField] private GameObject buttonPrefab; private void OnEnable() { startButton.onClick.AddListener(StartGame); selectLevelButton.onClick.AddListener(SelectLevel); quitButton.onClick.AddListener(QuitGame); } private void OnDisable() { startButton?.onClick.RemoveListener(StartGame); selectLevelButton?.onClick.RemoveListener(SelectLevel); quitButton?.onClick.RemoveListener(QuitGame); } public void StartGame() { GameLoopManager.Instance.StartNewGame(); } public void SelectLevel() { SwitchToLevelTab(); // 生成关卡按钮 GeneLevelButtons(); } private void GeneLevelButtons() { // 销毁原来的按钮 foreach (Transform child in levelTab.transform) { if (child.gameObject.name == "Suggestion") { continue; } Destroy(child.gameObject); } // 生成新按钮 for (int i = 0; i < talkSceneSoArray.Length; i++) { var tempButton = Instantiate(buttonPrefab, levelTab.transform); tempButton.GetComponent().text = $"第{i + 1}关"; var idx = i; tempButton.GetComponent