diff --git a/spine-unity/Assets/spine-unity/Editor/SkeletonRendererInspector.cs b/spine-unity/Assets/spine-unity/Editor/SkeletonRendererInspector.cs
index 759e4587b..7b75fd52c 100644
--- a/spine-unity/Assets/spine-unity/Editor/SkeletonRendererInspector.cs
+++ b/spine-unity/Assets/spine-unity/Editor/SkeletonRendererInspector.cs
@@ -268,8 +268,8 @@ namespace Spine.Unity.Editor {
using (new SpineInspectorUtility.IndentScope()) {
using (new EditorGUILayout.HorizontalScope()) {
- initialFlipX.boolValue = EditorGUILayout.ToggleLeft(initialFlipX.displayName, initialFlipX.boolValue, GUILayout.Width(120f));
- initialFlipY.boolValue = EditorGUILayout.ToggleLeft(initialFlipY.displayName, initialFlipY.boolValue, GUILayout.Width(120f));
+ SpineInspectorUtility.ToggleLeftLayout(initialFlipX);
+ SpineInspectorUtility.ToggleLeftLayout(initialFlipY);
EditorGUILayout.Space();
}
diff --git a/spine-unity/Assets/spine-unity/Editor/SpineInspectorUtility.cs b/spine-unity/Assets/spine-unity/Editor/SpineInspectorUtility.cs
index 13d41b681..112505156 100644
--- a/spine-unity/Assets/spine-unity/Editor/SpineInspectorUtility.cs
+++ b/spine-unity/Assets/spine-unity/Editor/SpineInspectorUtility.cs
@@ -71,6 +71,40 @@ namespace Spine.Unity.Editor {
PropertyFieldWideLabel(property, label, width);
}
+ /// Multi-edit-compatible version of EditorGUILayout.ToggleLeft(SerializedProperty)
+ public static void ToggleLeftLayout (SerializedProperty property, GUIContent label = null, float width = 120f) {
+ if (label == null) label = SpineInspectorUtility.TempContent(property.displayName, tooltip: property.tooltip);
+
+ if (property.hasMultipleDifferentValues) {
+ bool previousShowMixedValue = EditorGUI.showMixedValue;
+ EditorGUI.showMixedValue = true;
+
+ bool clicked = EditorGUILayout.ToggleLeft(label, property.boolValue, GUILayout.Width(width));
+ if (clicked) property.boolValue = true; // Set all values to true when clicked.
+
+ EditorGUI.showMixedValue = previousShowMixedValue;
+ } else {
+ property.boolValue = EditorGUILayout.ToggleLeft(label, property.boolValue, GUILayout.Width(width));
+ }
+ }
+
+ /// Multi-edit-compatible version of EditorGUILayout.ToggleLeft(SerializedProperty)
+ public static void ToggleLeft (Rect rect, SerializedProperty property, GUIContent label = null) {
+ if (label == null) label = SpineInspectorUtility.TempContent(property.displayName, tooltip: property.tooltip);
+
+ if (property.hasMultipleDifferentValues) {
+ bool previousShowMixedValue = EditorGUI.showMixedValue;
+ EditorGUI.showMixedValue = true;
+
+ bool clicked = EditorGUI.ToggleLeft(rect, label, property.boolValue);
+ if (clicked) property.boolValue = true; // Set all values to true when clicked.
+
+ EditorGUI.showMixedValue = previousShowMixedValue;
+ } else {
+ property.boolValue = EditorGUI.ToggleLeft(rect, label, property.boolValue);
+ }
+ }
+
public static bool UndoRedoPerformed (UnityEngine.Event current) {
return current.type == EventType.ValidateCommand && current.commandName == "UndoRedoPerformed";
}
diff --git a/spine-unity/Assets/spine-unity/Modules/SkeletonGraphic/Editor/SkeletonGraphicInspector.cs b/spine-unity/Assets/spine-unity/Modules/SkeletonGraphic/Editor/SkeletonGraphicInspector.cs
index 5f95f924e..4602746ad 100644
--- a/spine-unity/Assets/spine-unity/Modules/SkeletonGraphic/Editor/SkeletonGraphicInspector.cs
+++ b/spine-unity/Assets/spine-unity/Modules/SkeletonGraphic/Editor/SkeletonGraphicInspector.cs
@@ -99,9 +99,9 @@ namespace Spine.Unity.Editor {
EditorGUI.PrefixLabel(rect, SpineInspectorUtility.TempContent("Initial Flip"));
rect.x += EditorGUIUtility.labelWidth;
rect.width = 30f;
- initialFlipX.boolValue = EditorGUI.ToggleLeft(rect, SpineInspectorUtility.TempContent("X", tooltip:"initialFlipX"), initialFlipX.boolValue);
+ SpineInspectorUtility.ToggleLeft(rect, initialFlipX, SpineInspectorUtility.TempContent("X", tooltip: "initialFlipX"));
rect.x += 35f;
- initialFlipY.boolValue = EditorGUI.ToggleLeft(rect, SpineInspectorUtility.TempContent("Y", tooltip:"initialFlipY"), initialFlipY.boolValue);
+ SpineInspectorUtility.ToggleLeft(rect, initialFlipY, SpineInspectorUtility.TempContent("Y", tooltip: "initialFlipY"));
}
EditorGUILayout.Space();