Files
Cielonos/Assets/Scripts/MainGame/Narrative/StartNarrativeTrigger.cs

42 lines
1.2 KiB
C#
Raw Normal View History

2026-06-02 12:55:39 -04:00
using SLSUtilities.Narrative;
using UnityEngine;
namespace Cielonos.MainGame.Narrative
{
/// <summary>
/// 自动启动剧情触发器。
/// 当场景加载完成并且该脚本执行 Start 生命周期时,自动启动指定剧情(常用于关卡旁白、开场白或开局引导)。
/// </summary>
public class StartNarrativeTrigger : NarrativeTrigger
{
[Header("Start Trigger Settings")]
[SerializeField]
[Tooltip("延迟触发时间。0 表示立即触发。")]
private float delaySeconds = 0f;
private void Start()
{
if (delaySeconds > 0f)
{
Invoke(nameof(ExecuteStartTrigger), delaySeconds);
}
else
{
ExecuteStartTrigger();
}
}
private void ExecuteStartTrigger()
{
// 一次性触发器安全保护
if (oneShot && hasFired)
{
return;
}
Debug.Log($"[StartNarrativeTrigger] 场景启动自动触发剧情故事 ID: '{storyId}',延迟: {delaySeconds} 秒");
Fire();
}
}
}