static function InspectorTitlebar (position : Rect, foldout : bool, targetObj : Object) : bool
Parameters
Name | Description |
position |
Rectangle on the screen to use for the titlebar.
|
foldout |
The foldout state shown with the arrow.
|
targetObj |
The object (for example a component) that the titlebar is for.
|
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.
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);
}
}