版本: Unity 6 (6000.0)
语言英语
  • C#

EditorGUI.InspectorTitlebar

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们会阅读用户提出的每个建议,并在必要时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static bool InspectorTitlebar(Rect position, bool foldout, Object targetObj, bool expandable);

声明

public static bool InspectorTitlebar(Rect position, bool foldout, Object[] targetObjs, bool expandable);

参数

position 用于标题栏的屏幕上的矩形。
foldout 带有箭头显示的折叠状态。
targetObj 标题栏所针对的对象(例如组件)。
targetObjs 标题栏所针对的对象。
expandable 此编辑器是否应显示折叠箭头以切换其属性的显示。

返回值

bool 用户选择的折叠状态。

描述

创建类似检查器窗口的标题栏。

标题栏具有一个折叠箭头、一个帮助图标和一个设置菜单,该菜单取决于提供的对象的类型。


编辑器窗口中的检查器标题栏。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

// Editor window that shows the detailed rotation (X,Y,Z and W components), // the position in 3D space and position in Screen space of the selected // transform.

class CustomTransformInspector : EditorWindow { bool showing = true; Vector4 rotationComp;

[MenuItem("Examples/GameObject detailed inspector")] static void Init() { CustomTransformInspector window = (CustomTransformInspector)EditorWindow.GetWindow(typeof(CustomTransformInspector)); window.Show(); }

void OnInspectorUpdate() { Repaint(); }

void OnGUI() { var currObj = Selection.activeTransform;

showing = EditorGUI.InspectorTitlebar(new Rect(0, 0, position.width, 20), showing, currObj, showing); if (showing) { if (currObj) { currObj.position = EditorGUI.Vector3Field(new Rect(3, 15, position.width - 6, 20), "Position in 3D Space:", currObj.position);

EditorGUI.Vector2Field(new Rect(3, 50, position.width - 6, 20), "Position in Screen Space:", Camera.main.WorldToScreenPoint(currObj.position));

rotationComp = EditorGUI.Vector4Field(new Rect(3, 85, position.width - 6, 20), "Detailed Rotation:", QuaternionToVector4(currObj.localRotation)); currObj.localRotation = ConvertToQuaternion(rotationComp);

currObj.localScale = EditorGUI.Vector3Field(new Rect(3, 120, position.width - 6, 20), "Scale:", currObj.localScale); } else { EditorGUI.DropShadowLabel( new Rect(3, 15, position.width, 20), "Select an Object to inspect"); } } }

Quaternion ConvertToQuaternion(Vector4 v4) { return new Quaternion(v4.x, v4.y, v4.z, v4.w); }

Vector4 QuaternionToVector4(Quaternion q) { return new Vector4(q.x, q.y, q.z, q.w); } }

声明

public static void InspectorTitlebar(Rect position, Object[] targetObjs);

参数

position 用于标题栏的屏幕上的矩形。
targetObjs 标题栏所针对的对象。

描述

创建类似检查器窗口的标题栏。