62 lines
1.6 KiB
C#
62 lines
1.6 KiB
C#
using System.Collections;
|
|
using UnityEngine;
|
|
using Yarn.Unity;
|
|
|
|
namespace AibisDream
|
|
{
|
|
public class GameLoopManager : Singleton<GameLoopManager>
|
|
{
|
|
[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<YarnProject>($"Yarn/{testYarnProject}/{testYarnProject}");
|
|
DialogController.Instance.StartDialog(proj);
|
|
}
|
|
}
|
|
|
|
public enum RunMode
|
|
{
|
|
Test, Pro, FixTest
|
|
}
|
|
}
|
|
|