using UnityEngine;
using BaseGames.Core.Events;
namespace BaseGames.Quest
{
///
/// NPC 好感度变化事件的强类型负载。
/// 替代原 "npcId|delta" 字符串分割方案,杜绝接收方 Split 解析脆弱性。
///
[System.Serializable]
public struct NpcAffinityEvent
{
/// 发生好感度变化的 NPC ID(与 QuestSO.giverNpcId 保持一致)。
public string npcId;
/// 好感度变化量(正值=增加,负值=减少)。
public int delta;
/// 变化后的当前总好感度数值。
public int newTotal;
}
///
/// EVT_NpcAffinityChanged 专用事件频道 SO(强类型,负载 )。
/// 放置路径: Assets/ScriptableObjects/Events/EVT_NpcAffinityChanged.asset
///
[CreateAssetMenu(menuName = "BaseGames/Events/NpcAffinity")]
public class NpcAffinityEventChannelSO : BaseEventChannelSO { }
}