//针对某个组件物体的ui
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(Camera))]
public class Script_03_09 : Editor {
private void OnSceneGUI()
{
Camera camera = target as Camera;
if (camera != null)
{
Handles.color = Color.green;
Handles.Label(camera.transform.position, camera.transform.position.ToString());
Handles.BeginGUI();
GUI.backgroundColor = Color.red;
if (GUILayout.Button("click", GUILayout.Width(50)))
{
Debug.LogError("click:" + camera.name);
}
Handles.EndGUI();
}
}
}
//常驻Scene视图的辅助ui
[InitializeOnLoadMethod]
static void InitializeOnLoadMethoda()
{
SceneView.onSceneGUIDelegate = delegate (SceneView sceneView)
{
Handles.BeginGUI();
GUILayout.Label("标题");
GUILayout.Button("按钮");
Handles.EndGUI();
};
}