91 lines
2.5 KiB
C#
91 lines
2.5 KiB
C#
|
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; // 禁用交互
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|