如何在Unity Inspector中传递UnityEvent的输入参数给监听器
关于UnityEvent在Inspector传递固定整数参数的问题
首先明确:仅靠Unity默认的Inspector界面,没办法直接手动指定固定整数参数传给监听器。
你声明的public UnityEvent<int> onValueChanged;,在默认Inspector里添加监听器时,只能选择接收int类型参数的方法——这个参数是事件触发时动态传入的那个值,没法在Inspector里手动填一个固定数字传进去。
如果想要实现像你参考图里那样,在Inspector里直接设置固定整数参数传给监听器,还是需要写一点辅助代码:
- 可以自定义一个继承自
UnityEvent的事件类,结合Unity事件的参数绑定能力,或者写一个简单的编辑器扩展脚本,让Inspector支持手动输入固定参数。 - 也可以写一个“参数转发器”中间脚本:先把固定整数存在这个脚本里,让
onValueChanged触发转发器的方法,再由转发器把固定参数传给目标方法——这种方式只需少量代码,且能在Inspector里完成配置。
总之,纯靠默认Inspector不写代码的话,做不到手动指定固定整数参数传递给监听器,必须配合少量代码实现。
内容的提问来源于stack exchange,提问作者Greenstone
相关产品推荐
相关产品推荐

