using System.Collections; using UnityEngine; using Yarn.Unity; namespace AibisDream { public class GameLoopManager : Singleton { [Header("运行模式")] [SerializeField] private RunMode runMode; [Header("正式环境参数")] [SerializeField] private TalkSceneSO firstTalkSO; private TalkSceneSO currentTalkSceneSO; [SerializeField] private string clinicScene; [Header("测试环境参数")] [SerializeField] private string testYarnProject; public void Start() { if (runMode == RunMode.Test) { MainUIController.Instance.TVFadeOut(1); GameObject.Find("Menu Canvas").SetActive(false); StartCoroutine(StartTestGame()); } } public void StartNewGame() { currentTalkSceneSO = firstTalkSO; StartCoroutine(LoadClinicScene()); } private IEnumerator LoadClinicScene() { yield return StartCoroutine(SceneLoader.Instance.LoadSceneAsync(clinicScene)); StartMenuViewer.Instance.HideStartMenu(); DialogController.Instance.StartDialog(currentTalkSceneSO.yarnProject); } public IEnumerator StartTestGame() { yield return SceneLoader.Instance.LoadSceneAsync(clinicScene); var proj = Resources.Load($"Yarn/{testYarnProject}/{testYarnProject}"); DialogController.Instance.StartDialog(proj); } } public enum RunMode { Test, Pro, FixTest } }