Files
Cielonos/Assets/Scripts/MainGame/Narrative/NarrativeTriggers/AreaNarrativeTrigger.cs
SoulliesOfficial 6d7ebc5825 Passion & UI
2026-06-12 17:11: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 (once && hasTriggered)
{
return;
}
// 校验进入触发器的对象是否为玩家
if (other.CompareTag(playerTag))
{
Debug.Log($"[AreaNarrativeTrigger] 玩家进入区域 '{gameObject.name}',激活剧情故事 ID: '{storyId}'");
Trigger();
}
}
}
}