LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

This version of Unity is unsupported.

EditorGUI.InspectorTitlebar

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

Parameters

positionRectangle on the screen to use for the titlebar.
foldoutThe foldout state shown with the arrow.
targetObjThe object (for example a component) that the titlebar is for.
targetObjsThe objects that the titlebar is for.
expandableWhether this editor should display a foldout arrow in order to toggle the display of its properties.

Returns

bool The foldout state selected by the user.

Description

Make an inspector-window-like titlebar.

The titlebar has a foldout arrow, a help icon, and a settings menu that depends on the type of the object supplied.


Inspector titlebar in an Editor Window.

// 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 extends EditorWindow { var showing : boolean = true; var rotationComp : Vector4;

@MenuItem("Examples/GameObject detailed inspector") static function Init() { var window = GetWindow(CustomTransformInspector); window.Show(); }

function OnInspectorUpdate() { Repaint(); }

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

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

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

currObj.localScale = EditorGUI.Vector3Field(Rect(3,120,position.width-6,20), "Scale:", currObj.localScale);

} else { EditorGUI.DropShadowLabel(Rect(3,15,position.width,20),"Select an Object to inspect"); } } }

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

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