简介: 当我们写的组件开启CanEditMultipleObjects 后,意味着用户可以多选对象同时编辑,如果多个对象的同一个属性值不一样,引擎默认会画一个 - 号
unity版本: 2022.3.14f1c1
管线: URP
写法
主要是通过在进行 GUILayout 绘制前设置 EditorGUI.showMixedValue ,为 true 或 false。来实现。记得在绘制完 mixedvalue 后及时将 EditorGUI.showMixedValue 置回false
EditorGUI.BeginChangeCheck();
EditorGUI.showMixedValue =property.hasMixedValue;
var v=EditorGUILayout.EnumPopup("混合模式",property.floatValue);
EditorGUI.showMixedValue = false;
if (EditorGUI.EndChangeCheck())
{
property.floatValue=(float)v;
}
之前写过一个通过样式控制 toggle 内显示 - 号的文章,貌似用现在的方法会更简洁方便。