using System; using System.Collections; using System.Collections.Generic; using Exoa.TutorialEngine; using UnityEngine; using UnityEngine.Playables; public class GameTutorialManger : MonoBehaviour { public CanvasGroup BlockPanel; private void Start() { TutorialLoader.instance.Load("MainScene"); StartCoroutine(LoadBlockPanel()); TutorialEvents.OnTutorialProgress += (step, steps) => { switch (step) { case 1: { SceneTransitionManager.Instance.CurrentTrackingPointIndex = 2; break; } case 3: { SceneTransitionManager.Instance.CurrentTrackingPointIndex = 2; //SceneTransitionManager.Instance.TriggerShenPu(); //SceneTransitionManager.Instance.ShenPuStyle = SceneTransitionManager.Instance.InShenPu; break; } case 15: { SceneTransitionManager.Instance.CurrentTrackingPointIndex = 1; break; } case 16: { SceneTransitionManager.Instance.CurrentTrackingPointIndex = 1; break; } case 20: { SceneTransitionManager.Instance.CurrentTrackingPointIndex = 3; break; } case 27: { SceneTransitionManager.Instance.CurrentTrackingPointIndex = 3; break; } case 29: { SceneTransitionManager.Instance.CurrentTrackingPointIndex = 2; //启动Timeline后,触发强制白天 GameProcedureManager.Instance.PlayTimelineAndInvoke(); break; } } }; } private void Update() { if (Input.GetKey(KeyCode.P)) { TutorialController.instance.ForceNext(); } } private IEnumerator LoadBlockPanel() { float startAlpha = BlockPanel.alpha; float elapsed = 0f; while (elapsed < 10) { elapsed += Time.deltaTime; BlockPanel.alpha = Mathf.Lerp(startAlpha, 0, elapsed / 10); yield return null; } BlockPanel.alpha = 0; // 确保完全隐藏 BlockPanel.interactable = false; BlockPanel.blocksRaycasts = false; // 禁用交互 } }