using SLSUtilities.Narrative; using UnityEngine; namespace Cielonos.MainGame.Narrative { /// /// 自动启动剧情触发器。 /// 当场景加载完成并且该脚本执行 Start 生命周期时,自动启动指定剧情(常用于关卡旁白、开场白或开局引导)。 /// 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(); } } }