Scene界面也是可以扩展的,可以在选中某个对象后通过在scene界面的操作,快捷完成对该对象的操作。下面是对绑定有Test脚本的物体进行位置操作,选中的是场景中的物体。
//自定义Tset脚本
[CustomEditor(typeof(Test))]
//请继承Editor
public class MyEditor : Editor
{
void OnSceneGUI()//
{
Test test = (Test) target;
//绘制文本框
Handles.Label(test.transform.position + Vector3.up*2,test.transform.name +" : "+ test.transform.position.ToString() );
//开始绘制GUI
Handles.BeginGUI();
//规定GUI显示区域
GUILayout.BeginArea(new Rect(100, 100, 100, 100));
//GUI绘制一个按钮
if(GUILayout.Button("这是一个按钮!"))
{
Debug.Log("test");
test.transform.position = new Vector3(20,20,20);
}
//GUI绘制文本框
GUILayout.Label("我在编辑Scene视图");
GUILayout.EndArea();
Handles.EndGUI();
}
}