CustomEditor命令(特性)

当我们需要为一个组件添加自己自定义的编辑器内容时,需要用到这个特性:CustomEditor,语法如下:

1、public CustomEditor(Type inspectedType);

2、public CustomEditor(Type inspectedType, bool editorForChildClasses);   bool editorForChildClasses可以让我们定义此编辑器内容在子类中是否有效,默认为false;

 

下面是一个示例代码,效果是在Scene视图的三维空间中为附加了ShowArea脚本组件的GameObject显示一个区域范围。例如,我们在开发游戏时,为一个AI游戏对象添加侦测范围,这样的方式非常直观,也非常有用。

复制代码

1 using UnityEngine;
2 using System.Collections;
3 
4 public class ShowArea : MonoBehaviour 
5 {
6     public float radius;
7 }

复制代码

复制代码

 1 using UnityEngine;
 2 using System.Collections;
 3 using UnityEditor;
 4 
 5 [CustomEditor(typeof(ShowArea))]
 6 public class ShowAreaEditor : Editor
 7 {
 8     void OnSceneGUI()
 9     {
10         ShowArea area = target as ShowArea;
11         
12         Handles.color = new Color(0.0f, 0.0f, 1.0f, 0.1f);
13         Handles.DrawSolidDisc(area.transform.position, Vector3.up, area.radius);
14         area.radius = Handles.ScaleValueHandle(area.radius, area.transform.position, Quaternion.identity, 1, Handles.ConeCap, 1);
15     }
16 }

复制代码

 

效果如图:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值