Files
Cielonos/Assets/Scripts/MainGame/Narrative/AreaNarrativeTrigger.cs
SoulliesOfficial 8186f54e90 新场景,剧情
2026-06-02 12:55:39 -04:00

34 lines
1.1 KiB
C#

using SLSUtilities.Narrative;
using UnityEngine;
namespace Cielonos.MainGame.Narrative
{
/// <summary>
/// 区域剧情触发器。
/// 挂载在具有 Trigger 碰撞体 (Collider) 的 GameObject 上,当玩家角色进入该触发区域时激活剧情。
/// </summary>
public class AreaNarrativeTrigger : NarrativeTrigger
{
[Header("Area Trigger Settings")]
[SerializeField]
[Tooltip("触发所对应的玩家 GameObject 标签 (Tag) 标识,默认为 'Player'")]
private string playerTag = "Player";
private void OnTriggerEnter(Collider other)
{
// 如果是一次性触发器且已经激活过,直接忽略
if (oneShot && hasFired)
{
return;
}
// 校验进入触发器的对象是否为玩家
if (other.CompareTag(playerTag))
{
Debug.Log($"[AreaNarrativeTrigger] 玩家进入区域 '{gameObject.name}',激活剧情故事 ID: '{storyId}'");
Fire();
}
}
}
}