Unity编辑器扩展-第三集-添加按钮到组件菜单并且重置组件

这篇具有很好参考价值的文章主要介绍了Unity编辑器扩展-第三集-添加按钮到组件菜单并且重置组件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第二集链接:Unity编辑器扩展-第二集-按钮排序/分组/放入右键菜单_菌菌巧乐兹的博客-CSDN博客

一、本节目标+效果展示

1.把按钮放到组件菜单上

Unity编辑器扩展-第三集-添加按钮到组件菜单并且重置组件

2.做一个类似Reset功能,点一下能改变里面的数据

 Unity编辑器扩展-第三集-添加按钮到组件菜单并且重置组件

 二、 把按钮放到组件菜单上

如上图,我的的组件名称是:

Unity编辑器扩展-第三集-添加按钮到组件菜单并且重置组件

所以,这行就改成

//CONTEXT,说明这是组件
//Test01,组件的名称
//菌菌Reset大法好,按钮名称
[MenuItem("CONTEXT/Test01/菌菌Reset大法好")]

 注:这个CONTEXT是固定不变的,只要放到组件上,就要这么写

 你就达成第一目标了,你在组件上就能看见了。

三、做一个类似Reset功能,点一下能改变里面的数据

1.写一个简单的代码Test01,挂到物体上,做简单的组件

using UnityEngine;

public class Test01 : MonoBehaviour
{
    public int HP = 0;
    public string s = "我死了";
}

2.这里简单介绍一下Reset功能

代码里是有初始值的,在这里是,一个0,一个“我死了”,只要我们点击Reset按钮,就无论你在外面改的什么,都会变成初始值。

例:

Unity编辑器扩展-第三集-添加按钮到组件菜单并且重置组件

3.我现在希望,点击“菌菌Reset大法好”,换成我喜欢的值

这里介绍一个类MenuCommand(中文,菜单命令),这个里面,有个参数context(眼熟吗?),瞅一下这个图

Unity编辑器扩展-第三集-添加按钮到组件菜单并且重置组件

 可以让我们获取到,我们点击的这个组件,我们可以在方法里,加上它。

但是,它是代表的是组件这个大的类,所以,你用的时候,需要转换成你需要的那个组件。

例:

    [MenuItem("CONTEXT/Test01/菌菌Reset大法好")]
                        //把命令参数传递进去
    static void Reset(MenuCommand c) {
        Test01 t = c.context as Test01;//把获取到的组件,转换成我们需要的组件
        //下面就可以当成正常组件一样赋值了
        t.HP = 100;
        t.s = "我又活了";
    }

 备注:这个as 什么什么,就是强制转换成什么

Unity编辑器扩展-第三集-添加按钮到组件菜单并且重置组件

 四、所有代码

第一个脚本Test01

using UnityEngine;

public class Test01 : MonoBehaviour
{
    public int HP = 0;
    public string s = "我死了";
}

第二个脚本Tools

using UnityEditor;

public class Tools 
{
    [MenuItem("CONTEXT/Test01/菌菌Reset大法好")]
    static void Reset(MenuCommand c) {
        Test01 t = c.context as Test01;
        t.HP = 100;
        t.s = "我又活了";
    }
}

 五、作者的碎碎念

这部分其实不用编辑器也可以完成。

1.热知识,我们除了组件上有菜单,我们每个公开的名字也有菜单

公开名字的菜单:

应该点在HP上,但这个里面HP木有菜单。就右键在HP上本身会有个类似菜单。

Unity编辑器扩展-第三集-添加按钮到组件菜单并且重置组件 

2.我们只要有个普通的脚本(不需要其他脚本),然后

using UnityEngine;

public class Test01 : MonoBehaviour
{
    public int HP = 0;
    public string s = "我死了";

                  //这里是你希望显示的名字
    [ContextMenu("你好哇")]
    void 菌菌兹(){
        }
}

 也会出现这个,里面写的方法也可以用

(别惊讶哇,方法名是可以写中文的,但最好不要)

Unity编辑器扩展-第三集-添加按钮到组件菜单并且重置组件

2.如果你想在公开的名字菜单上加

public class Test01 : MonoBehaviour
{
                    //按钮名字 //希望执行的方法名
    [ContextMenuItem("名字","菌菌兹")]
    public int HP = 0;
    public string s = "我死了";

    void 菌菌兹(){
        }
}

Unity编辑器扩展-第三集-添加按钮到组件菜单并且重置组件

 但这部分不属于编辑器扩展,就属于普通常用的功能

 文章来源地址https://www.toymoban.com/news/detail-489219.html

到了这里,关于Unity编辑器扩展-第三集-添加按钮到组件菜单并且重置组件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity 可视化节点编辑器(GraphView、编辑器扩展)

      前几天把导师的项目打包发布交了一稿,这半个星期除了再把项目缝缝补补外(说实话项目做到后边实在有些无聊,都是些琐碎的东西而且自己也学不到什么,纯粹是 浪费 消磨时间)无聊逛Unity商店发现了个有意思的东西,说实话一开始我以为只是单纯绘制的2D动画:

    2024年02月12日
    浏览(58)
  • Unity编辑器扩展(外挂)

    每日一句:未来的样子藏在现在的努力里 目录 什么是编译器开发 C#特性[System.Serializable] 特殊目录 命名空间 /*检视器属性控制*/     //添加变量悬浮提示文字     //给数值设定范围(最小0,最大150) //指定输入框,拥有5行 //默认显示5行,最多显示10行内容,再多用滚动条控

    2024年01月24日
    浏览(83)
  • Unity编辑器扩展之GenericMenu菜单扩展

    内容将会持续更新,有错误的地方欢迎指正,谢谢!   Unity编辑器扩展之GenericMenu自定义菜单       TechX 坚持将创新的科技带给世界! 拥有更好的学习体验 —— 不断努力,不断进步,不断探索 TechX —— 心探索、心进取! 助力快速掌握 GenericMenu 菜单扩展 为初学者节省宝贵的

    2024年02月01日
    浏览(70)
  • Unity 扩展自定义编辑器窗口

    在Assets文件夹路径下任意位置创建Editor文件夹,将扩展编辑器的代码放在Editor文件夹下 代码中首先引用命名空间 然后将创建的类继承自EditorWindow 然后通过扩展编辑器菜单功能调用创建窗口的方法 要注意方法中泛型参数需要传入的是自己代码的类,这个功能是根据后面OnGUI方

    2024年04月27日
    浏览(52)
  • Unity 编辑器扩展之 Attribute

    Unity内置属性[Attribute]是一种类似修饰功能的标签。可以对OnSceneGUI,InspectorGUI,MenuGUI,WindowGUI等实现各种各样的GUI扩展。用户只要添加上特性标签,就能够自由的使用这些扩展功能。下面列出一些常用的标签: 隐藏属性在Inspector面板上的显示。在继承了MonoBehaviour的类中,用

    2023年04月09日
    浏览(65)
  • Unity编辑扩展:功能篇之Json数据编辑器

    前言 编辑器扩展算是比较纯粹的功能开发,基本没有什么理论知识,都是一些 Unity 相关接口的使用与数据类型的设计操作等。在本篇文章主要的文字描述基本都是在做代码解释,为了使内容接受度更高,我会尽量描述到代码结构中的每个细节。如果有对此不太了解又很感兴

    2024年02月06日
    浏览(98)
  • 【Unity编辑器扩展】| Inspector监视器面板扩展

    前言 前面我们介绍了Unity中编辑器扩展的一些基本概念及基础知识,还有编辑器扩展中用到的相关特性Attribute介绍。 后面就来针对Uniity编辑器扩展中比较常用的模块进行学习介绍。 本文就来详细介绍一下Unity编辑器扩展中关于 Inspector面板 扩展功能学习。

    2024年02月08日
    浏览(61)
  • 盘点Unity几款编辑器扩展工具

    unity 编辑器一个不容忽视的强大之处就是非常易于自定义扩展工具,来满足各种各样的美术、策划及程序上的需求。今天为大家介绍Asset Store资源商店中几款实用的编辑器扩展工具,帮助大家直接在Unity编辑器中完成3D建模与调整工作,免去与其它软件进行数据转换的过程,从

    2024年04月09日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包