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 { } }