Atoms生成代码二次修改查询过滤条件配置方法
在Unity Atoms里,要想修改Listener的过滤条件,得直接去编辑Scriptable Object资产。这里面呢,Event Listener是支持Tag字符串匹配或者Predicate逻辑判断的;而Variable Listener则可以设置值变更、范围阈值等响应条件,不过要注意,这里的Min必须得小于Max哦。

在Unity Atoms项目里,要是你想用Atoms生成的代码去调整查询过滤条件(比如让Event Listener仅响应带有特定Tag的Event,或者让Variable Listener只监听某类状态的变更),那就必须绕过自动生成的逻辑,直接去修改配置项才行。不然的话,下次再重生成,你之前的改动可就都被覆盖掉啦。
定位并打开目标Listener资产文件
在Project窗口中,找到对应功能的Listener资产,通常是xxxListener.asset,例如PlayerHealthChangedListener.asset。
双击该文件,在Inspector面板中查看其序列化字段。注意:不要在MonoBeha viour脚本里改——Atoms的Listener逻辑完全由Scriptable Object驱动,脚本只是壳。
【必须确认Asset类型是AtomListener或其子类,不是普通MonoBeha viour】
修改Event Listener的过滤条件
方法一:启用Tag过滤
勾选“Use Tag Filter”复选框 → 在下方Tag字段中输入目标Tag字符串,例如"Enemy"或"Player"。
这一步生效的前提是:你触发的Event实例(如HealthChangedEvent)在Raise()时传入了匹配该Tag的参数,否则Listener完全静默——不会报错,也不会提示不匹配。
方法二:启用Predicate过滤(高级)
勾选“Use Predicate” → 点击Predicate字段右侧的“Select Predicate…”按钮 → 从弹出列表中选择已定义的Predicate资产,例如IsCriticalDamagePredicate.asset。
Predicate资产本身是一个Scriptable Object,封装了bool返回值的判断逻辑,它比字符串Tag更灵活,支持数值范围、状态组合等复杂条件。
修改Variable Listener的响应阈值
第一步:展开“Response Conditions”区域
第二步:选择触发模式 → 下拉菜单中可选“On Value Changed”、“On Value Greater Than”、“On Value Less Than”、“On Value Between”。
第三步:根据所选模式填写数值字段。例如选了“On Value Between”,则需同时填入Min和Max值,且
【Min必须严格小于Max,否则监听器永久失效】
第四步:勾选“Fire On Start”若需在监听器启用瞬间也执行一次响应逻辑。
-
- 元宵节猜灯谜的祝福短信
- 角色扮演 |
-
- 关于柯南的沙雕网名有哪些
- 角色扮演 | 1
- 网名
-
- 最新中性名字男女通用网名有哪些
- 角色扮演 | 1
- 网名
-
- 关于蓝色说唱的网名有哪些
- 角色扮演 | 1
- 网名
-
- 我好喜欢你是什么梗?
- 角色扮演 |