using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Rendering; 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) { GameObject gameObject = GameObject.Find("UI"); gameObject.transform.Find("Main Canvas").gameObject.SetActive(false); 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 void StartTestGame() { SceneLoader.Instance.LoadScene(clinicScene); var proj = Resources.Load($"Yarn/{testYarnProject}/{testYarnProject}"); Debug.Log(proj == null); DialogController.Instance.StartDialog(proj); } } public enum RunMode { Test, Pro, FixTest } }