首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Unity 拓展编辑器之使用 MenuCommand 添加组件菜单

在 Unity 中存在大量的组件,而脚本也属于组件,现在的需求是这样的:将脚本组件中的属性值通过编辑器菜单的形式进行更新。

首先给出脚本组件,简单写个 Player.cs:

要使用编辑器菜单的话依旧需要 MenuItem,但是如何在组件上添加菜单呢?从之前了解到的菜单添加方式来看,其实也是跟 MenuItem 传入的参数有关。

如上在 MenuItem 的路径里使用到了 CONTEXT,这就代表着要对组件进行菜单按钮的添加,不过光有 CONTEXT 还不行,我们还需要确定组件类型,所以 CONTEXT 后面跟上了我们需要操作的组件类型 Player,而 test 就是我们最终显示的按钮了,显示效果如下。

同理我们就能知道其它的组件该如何添加按钮了:

好了,现在能够在组件上自定义菜单按钮了,那么该如何获取更新组件呢?这里就涉及到我们的 MenuCommand ,直接看代码:

如上代码可知,在普通添加菜单按钮的方法中设置了传入参数,之前了解的基本都是空参方法。这里虽然设置了参数,但是方法是由系统调用的,所以我们不需要关心,我们只需要关心 MenuCommand 对象,因为系统传过来的这个对象数据是可以转换成组件对象的。不过这里注意的点在于涉及到的脚本组件的唯一性或者说确定性,如果项目中存在多个相同的脚本组件,则需要通过命名空间的方式去访问组件对象了。

经过上述的代码处理,我们就实现了脚本组件 Player 的属性更新操作,当然不止脚本组件,Unity 的其它内置组件大体都可以的。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191002A03HWI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券