Unity中的编辑器扩展

1.RequireComponent

作用:可以确保挂载该脚本的物体包含指定的组件
用法
[RequireComponent(typeof(BoxCollider))]
public class Test : MonoBehaviour
{
//确保了被挂载的物体有BoxCollider组件
}
在这里插入图片描述

2.AddComponentMenu

作用:可以在添加组件时添加一个新的分类
用法
[AddComponentMenu(“MJH/Test”)]
public class Test : MonoBehaviour
{
}
在这里插入图片描述

3.CreateAssetMenu

作用:可以在文件资源处创建物体,一般配合ScriptObject一起使用
用法
[CreateAssetMenu(fileName =“My Object”,menuName = “ScriptableObject/NewTab”, order = 1)]
public class Test : ScriptableObject
{
}
在这里插入图片描述

4.DisallowMultipleComponent

作用:防止我们往同一物体上重复添加脚本
用法
[DisallowMultipleComponent]
public class Test : MonoBehaviour
{
}
在这里插入图片描述

5.SerializeField

作用:可以将字段序列化在编辑器上,让开发者在编辑器上为字段赋值
用法
public class Test : MonoBehaviour
{
[SerializeField] private string str;
}
在这里插入图片描述

6.System.Serializable

作用:可以将结构体或者类序列化在编辑器上,让开发者在编辑器上为字段赋值
用法
public class Test : MonoBehaviour
{
public PlayerStats playerStats;
[System.Serializable] public struct PlayerStats
{
public int a;
public int b;
public bool YN;
}
}
在这里插入图片描述

7.HideInInspector

作用:可以公有字段隐藏 不序列化显示在编辑器上
用法
public class Test : MonoBehaviour
{
[HideInInspector] public string str;
}

8.Tooltip

作用:可以在编辑器内为字段添加提示
用法
public class Test : MonoBehaviour
{
[Tooltip(“玩家名称”)]
public string PlayerName;
}
在这里插入图片描述

9.Multiline

作用:可以在编辑器内将字段输入框变大
用法
public class Test : MonoBehaviour
{
[Multiline(4)]
public string PlayerName;
}
在这里插入图片描述

10.Space

作用:可以调整编辑器内字段间的间隔
用法
public class Test : MonoBehaviour
{
public string PlayerName;
[Space(50)]
public string EnemyName;
}
在这里插入图片描述

11.TextArea

作用:为编辑器字段输入框添加一个上下拉动的滑动条
用法
public class Test : MonoBehaviour
{
[TextArea]
public string PlayerName;
}
在这里插入图片描述

12.Header

作用:在编辑器中添加一个分界线
用法
public class Test : MonoBehaviour
{
[Header(“Player Setting”)]
public string PlayerName;
public int PlayerHp;
[Header(“UI Setting”)]
public string UIsetting;
public string UI2setting;
}
在这里插入图片描述

13.Range

作用:为变量添加一个范围
用法
public class Test : MonoBehaviour
{
[Range(0, 1)] public float Speed;
}
在这里插入图片描述

14.Min

作用:设置变量的最小值
用法
public class Test : MonoBehaviour
{
[Min(0)] public float Speed;
}
在这里插入图片描述

15.ContextMenu

作用:在未运行状态下执行函数,例如回复物体位置等功能
用法
public class Test : MonoBehaviour
{
[SerializeField] private GameObject ball;
[ContextMenu(“Do things”)]
public void ResetBall()
{
ball.transform.position = Vector3.zero;
}
}
在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值