码迷,mamicode.com
首页 > 其他好文 > 详细

CustomEditor命令(特性)

时间:2015-08-02 00:58:28      阅读:434      评论:0      收藏:0      [点我收藏+]

标签:

当我们需要为一个组件添加自己自定义的编辑器内容时,需要用到这个特性: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 }

 

效果如图:

技术分享

CustomEditor命令(特性)

标签:

原文地址:http://www.cnblogs.com/MrX1892/p/4694957.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!