Editor编辑器(二)脚本扩展编辑器

Chinar blog www.chinar.xin

Editor编辑器(二)脚本扩展编辑器


本文提供全流程,中文翻译。

Chinar 的初衷是将一种简单的生活方式带给世人

使有限时间 具备无限可能

Chinar —— 心分享、心创新!

助力快速完成 Unity 服务器的购买、配置、以及网站的搭建

为初学者节省宝贵的时间,避免采坑!


全文高清图片,点击即可放大观看 (很多人竟然不知道)


1

AddComponentMenu —— 添加 组件选项菜单


AddComponentMenu —— 允许将一个脚本添加到 Component 菜单中,然后你便可以通过 Component ->(你设置的名字)为一个选中的游戏对象创建该脚本

(脚本不能放在Editor 文件夹下面)

如下所示:

   [AddComponentMenu("UI/Chinar")]
        public class ChinarTest : MonoBehaviour
        {
        }

Editor编辑器(二)脚本扩展编辑器


2

RequireComponent —— 自动将所需组件添加为依赖项

如下所示:

    [AddComponentMenu("UI/Chinar")]
    [RequireComponent(typeof(Rigidbody))]
    [RequireComponent(typeof(Camera))]
    public class ChinarTest : MonoBehaviour
    {
    }

Editor编辑器(二)脚本扩展编辑器

3

HelpURL —— 添加的脚本的帮助文档上设置链接

如下所示:

       [HelpURL("http://www.chinar.xin")]
    public class ChinarTest : MonoBehaviour
    {
    }

Editor编辑器(二)脚本扩展编辑器

4

Range() —— 随机数

Range

**Range()属性用于将一个值指定在一定的范围内,并在Inspector面板中为其添加滑块;

如下所示:

        public class ChinarTest : MonoBehaviour
    {
        [Range(-2, 2)]
        public int number;
    }

Editor编辑器(二)脚本扩展编辑器

5

Multiline() —— string 类型添加多行输入

Multiline

Multiline()属性用于给 string 类型添加多行输入;

如下所示:

       public class ChinarTest : MonoBehaviour
    {
        [Multiline(50)]//自己尝试
        public string text;
    }

Editor编辑器(二)脚本扩展编辑器

5

header() —— 添加属性的标题

header

header()属性用于添加属性的标题,具体操作如下所示:**

属下所示

      public class ChinarTest : MonoBehaviour
    {[Header("十行的文字描述")]
        [Multiline(10)]//自己尝试
        public string text;
    }

Editor编辑器(二)脚本扩展编辑器

7

Tooltip() —— 鼠标悬浮提示语

Tooltip

鼠标停留在Inspector的组件上的属性上时,弹出提示用语

如下所示:

        public class ChinarTest : MonoBehaviour
    {[Tooltip("提示语我不会写")]
        [Multiline(10)]//自己尝试
        public string text;
    }

Editor编辑器(二)脚本扩展编辑器

8

Space() —— 设置组件的属性之间的距离长度

Space

在Inspector上设置组件的属性与属性之间的距离

如下所示:

       public class ChinarTest : MonoBehaviour
    {
        public string text;
        [Space(1)]
        public int A;
        [Space(20.5F)]
        public int B;
        [Space(30)]
        public int C;
        [Space(4.3F)]
        public int D;
        [Space(5)]
        public int E;
    }

Editor编辑器(二)脚本扩展编辑器

9

SerializeField() —— 序列化属性

SerializeField

1在没有加入任何Attribute的前提下,public变量是默认被视为可以被Serialize的,所以会在Inspector看到它

2如果我们想要把Private对象也放在Inspector 看到他就要用到SerializeField这个特性

如下所示:

        public class ChinarTest : MonoBehaviour {
        [SerializeField]
        private int number; 
        }
    }

Editor编辑器(二)脚本扩展编辑器

10

Serializable() —— 序列化类

Serializable

用于 自定义的,非 abstract 的类. 结构体等 , 使这类型也能序列化

如下所示:

         public class ChinarTest : MonoBehaviour
    {
        public  A a;
    }
    [System.Serializable]
    public class A
    {
        public int number = 20;
    }
    }

Editor编辑器(二)脚本扩展编辑器

11

HideInInspector() —— 返序列化

HideInInspector

表示将原本显示在面板上的序列化值隐藏起来

如下所示:

   [AddComponentMenu("UI/Chinar")]
       public class ChinarTest : MonoBehaviour
    {
        [HideInInspector]
        public  A a;
    }
    [System.Serializable]
    public class A
    {
        public int number = 20;
    }

Editor编辑器(二)脚本扩展编辑器


Editor编辑器(二)脚本扩展编辑器 Editor编辑器(二)脚本扩展编辑器 Editor编辑器(二)脚本扩展编辑器


支持

May Be —— 开发者,总有一天要做的事!


拥有自己的服务器,无需再找攻略

Chinar 提供一站式《零》基础教程

使有限时间 具备无限可能!

先点击领取 —— 阿里全产品优惠券 (享受最低优惠)


Chinar 免费服务器、建站教程全攻略!( Chinar Blog )


Editor编辑器(二)脚本扩展编辑器
Editor编辑器(二)脚本扩展编辑器

END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: [email protected]

对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址