Version: 2023.1

MixedValueScope

struct in UnityEditor

切换到手册

描述

Creates a group of controls that can visually represent a mixed value.

To configure a group of controls that can show a dash (-) if selected objects have different values, add `EditorGUI.MixedValueScope` before the group and set newMixedValue to true.

using UnityEditor;
using UnityEngine;

[CanEditMultipleObjects] [CustomEditor(typeof(MixedValueComponentTest))] public class MixedValueComponentTestEditor : Editor { public override void OnInspectorGUI() { SerializedProperty serializedPropertyMyInt = serializedObject.FindProperty("MyInt"); using (new EditorGUI.MixedValueScope(serializedPropertyMyInt.hasMultipleDifferentValues)) { EditorGUI.BeginChangeCheck(); int newValue = EditorGUILayout.IntField("My Int", serializedPropertyMyInt.intValue); if (EditorGUI.EndChangeCheck()) serializedPropertyMyInt.intValue = newValue; } serializedObject.ApplyModifiedProperties(); } }

public class MixedValueComponentTest : MonoBehaviour { public int MyInt; }

构造函数

EditorGUI.MixedValueScopeCreates a new MixedValueScope that determines the start of the group of mixed value controls.