public static int indentLevel ;

Description

The indent level of the field labels.

EditorGUILayout.LabelField will display the string given as an argument. This string can be displayed at a horizontal position, and the position changed by indentLevel. As indentLevel increases the labels will move right. Decreasing indentLevel will move labels to the left.

Shows info of the selected object.

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

public class EditorGUIIndent : EditorWindow { [MenuItem("Examples/indentLevel demo")] static void Init() { EditorWindow window = GetWindow(typeof(EditorGUIIndent)); window.position = new Rect(100, 100, 300, 150); window.Show(); }

void OnGUI() { Transform obj = Selection.activeTransform; EditorGUILayout.LabelField("Name:", obj ? obj.name : "Select an Object");

if (obj) { // Indent further the area of position and rotation EditorGUI.indentLevel++; EditorGUILayout.LabelField("Position:", obj.position.ToString()); EditorGUILayout.LabelField("Rotation:", obj.rotation.eulerAngles.ToString());

// Indent further again the area of rotation values EditorGUI.indentLevel++; EditorGUILayout.LabelField("X:", obj.rotation.x.ToString()); EditorGUILayout.LabelField("Y:", obj.rotation.y.ToString()); EditorGUILayout.LabelField("Z:", obj.rotation.z.ToString()); EditorGUILayout.LabelField("W:", obj.rotation.w.ToString());

// End of inner area EditorGUI.indentLevel--; EditorGUILayout.LabelField("Scale:", obj.localScale.ToString());

// End of area EditorGUI.indentLevel--; } } }

To maximize future compatibility, do not make assumptions about what a specific indent level means, but instead just increase or decrease by one around blocks of controls that need to be more indented, as in the example above.

Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961