@@ -40,16 +40,16 @@ sealed class ColorCurvesEditor : VolumeComponentEditor
40
40
41
41
static GUIStyle s_PreLabel ;
42
42
43
- static GUIContent [ ] s_Curves =
43
+ static string [ ] s_CurveNames =
44
44
{
45
- new GUIContent ( "Master" ) ,
46
- new GUIContent ( "Red" ) ,
47
- new GUIContent ( "Green" ) ,
48
- new GUIContent ( "Blue" ) ,
49
- new GUIContent ( "Hue Vs Hue" ) ,
50
- new GUIContent ( "Hue Vs Sat" ) ,
51
- new GUIContent ( "Sat Vs Sat" ) ,
52
- new GUIContent ( "Lum Vs Sat" )
45
+ "Master" ,
46
+ "Red" ,
47
+ "Green" ,
48
+ "Blue" ,
49
+ "Hue Vs Hue" ,
50
+ "Hue Vs Sat" ,
51
+ "Sat Vs Sat" ,
52
+ "Lum Vs Sat"
53
53
} ;
54
54
55
55
public override void OnEnable ( )
@@ -128,9 +128,28 @@ void CurveOverrideToggle(SerializedProperty overrideProp)
128
128
overrideProp . boolValue = GUILayout . Toggle ( overrideProp . boolValue , EditorGUIUtility . TrTextContent ( "Override" ) , EditorStyles . toolbarButton ) ;
129
129
}
130
130
131
+ string MakeCurveSelectionPopupLabel ( int id )
132
+ {
133
+ string label = s_CurveNames [ id ] ;
134
+ const string overrideSuffix = " (Overriding)" ;
135
+ switch ( id )
136
+ {
137
+ case 0 : if ( m_Master . overrideState . boolValue ) label += overrideSuffix ; break ;
138
+ case 1 : if ( m_Red . overrideState . boolValue ) label += overrideSuffix ; break ;
139
+ case 2 : if ( m_Green . overrideState . boolValue ) label += overrideSuffix ; break ;
140
+ case 3 : if ( m_Blue . overrideState . boolValue ) label += overrideSuffix ; break ;
141
+ case 4 : if ( m_HueVsHue . overrideState . boolValue ) label += overrideSuffix ; break ;
142
+ case 5 : if ( m_HueVsSat . overrideState . boolValue ) label += overrideSuffix ; break ;
143
+ case 6 : if ( m_SatVsSat . overrideState . boolValue ) label += overrideSuffix ; break ;
144
+ case 7 : if ( m_LumVsSat . overrideState . boolValue ) label += overrideSuffix ; break ;
145
+ }
146
+ return label ;
147
+ }
148
+
131
149
int DoCurveSelectionPopup ( int id )
132
150
{
133
- GUILayout . Label ( s_Curves [ id ] , EditorStyles . toolbarPopup , GUILayout . MaxWidth ( 150f ) ) ;
151
+ var label = MakeCurveSelectionPopupLabel ( id ) ;
152
+ GUILayout . Label ( label , EditorStyles . toolbarPopup , GUILayout . MaxWidth ( 150f ) ) ;
134
153
135
154
var lastRect = GUILayoutUtility . GetLastRect ( ) ;
136
155
var e = Event . current ;
@@ -139,13 +158,15 @@ int DoCurveSelectionPopup(int id)
139
158
{
140
159
var menu = new GenericMenu ( ) ;
141
160
142
- for ( int i = 0 ; i < s_Curves . Length ; i ++ )
161
+ for ( int i = 0 ; i < s_CurveNames . Length ; i ++ )
143
162
{
144
163
if ( i == 4 )
145
164
menu . AddSeparator ( "" ) ;
146
165
147
166
int current = i ; // Capture local for closure
148
- menu . AddItem ( s_Curves [ i ] , current == id , ( ) =>
167
+
168
+ var menuLabel = MakeCurveSelectionPopupLabel ( i ) ;
169
+ menu . AddItem ( new GUIContent ( menuLabel ) , current == id , ( ) =>
149
170
{
150
171
m_SelectedCurve . intValue = current ;
151
172
serializedObject . ApplyModifiedProperties ( ) ;
0 commit comments