@@ -726,6 +726,7 @@ void ShowChooseMaterialControl(IList<string> children, string child, Material[]
726
726
EditorGUILayout . BeginHorizontal ( ) ;
727
727
var newValue = EditorGUILayout . ObjectField ( ChooseName ( j ) , value , typeof ( Material ) , false ) as Material ;
728
728
MaterialPickerButton ( child , i , ref newValue ) ;
729
+ MaterialApplyButton ( child , i , newValue ) ;
729
730
EditorGUILayout . EndHorizontal ( ) ;
730
731
if ( value != newValue )
731
732
{
@@ -904,6 +905,7 @@ void ShowChooseBlendShapeControl(
904
905
EditorGUILayout . BeginHorizontal ( ) ;
905
906
var newValue = EditorGUILayout . FloatField ( ChooseName ( i ) , value ) ;
906
907
BlendShapeLikePickerButton ( isBlendShape , child , name . Name , ref newValue ) ;
908
+ BlendShapeLikeApplyButton ( isBlendShape , child , name . Name , newValue ) ;
907
909
EditorGUILayout . EndHorizontal ( ) ;
908
910
909
911
if ( value != newValue )
@@ -1012,6 +1014,7 @@ IEnumerable<INameAndDescription> names
1012
1014
EditorGUILayout . BeginHorizontal ( ) ;
1013
1015
var newValue = EditorGUILayout . Vector4Field ( ChooseName ( i ) , value ) ;
1014
1016
ShaderVectorParameterPickerButton ( child , name . Name , ref newValue ) ;
1017
+ ShaderVectorParameterApplyButton ( child , name . Name , newValue ) ;
1015
1018
EditorGUILayout . EndHorizontal ( ) ;
1016
1019
1017
1020
if ( value != newValue )
@@ -1115,23 +1118,27 @@ IEnumerable<TypeMember> members
1115
1118
{
1116
1119
newValue = EditorGUILayout . FloatField ( ChooseName ( i ) , ( float ) value ) ;
1117
1120
ValuePickerButton ( child , member , p => newValue = p . floatValue ) ;
1121
+ ValueApplyButton ( child , member , p => p . floatValue = ( float ) newValue ) ;
1118
1122
}
1119
1123
else if ( member . MemberType == typeof ( int ) )
1120
1124
{
1121
1125
newValue = EditorGUILayout . IntField ( ChooseName ( i ) , ( int ) value ) ;
1122
1126
ValuePickerButton ( child , member , p => newValue = p . intValue ) ;
1127
+ ValueApplyButton ( child , member , p => p . intValue = ( int ) newValue ) ;
1123
1128
}
1124
1129
else if ( member . MemberType == typeof ( bool ) )
1125
1130
{
1126
1131
newValue = EditorGUILayout . Toggle ( ChooseName ( i ) , ( bool ) value ) ;
1127
1132
ValuePickerButton ( child , member , p => newValue = p . boolValue ) ;
1133
+ ValueApplyButton ( child , member , p => p . boolValue = ( bool ) newValue ) ;
1128
1134
}
1129
1135
else if ( member . MemberType . IsSubclassOf ( typeof ( Enum ) ) )
1130
1136
{
1131
1137
var enumNames = member . MemberType . GetEnumNamesCached ( ) ;
1132
1138
var enumValues = member . MemberType . GetEnumValuesCached ( ) ;
1133
1139
newValue = EditorGUILayout . IntPopup ( ChooseName ( i ) , ( int ) value , enumNames , enumValues ) ;
1134
1140
ValuePickerButton ( child , member , p => newValue = enumValues [ p . enumValueIndex ] ) ;
1141
+ ValueApplyButton ( child , member , p => p . enumValueIndex = Array . IndexOf ( enumValues , ( int ) newValue ) ) ;
1135
1142
}
1136
1143
else if ( member . MemberType == typeof ( VRCPhysBoneBase . PermissionFilter ) )
1137
1144
{
@@ -1151,6 +1158,7 @@ IEnumerable<TypeMember> members
1151
1158
EditorGUIUtility . wideMode = true ;
1152
1159
newValue = EditorGUILayout . Vector3Field ( ChooseName ( i ) , ( Vector3 ) value ) ;
1153
1160
ValuePickerButton ( child , member , p => newValue = p . vector3Value ) ;
1161
+ ValueApplyButton ( child , member , p => p . vector3Value = ( Vector3 ) newValue ) ;
1154
1162
EditorGUIUtility . wideMode = widemode ;
1155
1163
}
1156
1164
else if ( member . MemberType == typeof ( Quaternion ) )
@@ -1159,6 +1167,7 @@ IEnumerable<TypeMember> members
1159
1167
EditorGUIUtility . wideMode = true ;
1160
1168
newValue = EditorGUILayout . Vector4Field ( ChooseName ( i ) , ( ( Quaternion ) value ) . ToVector4 ( ) ) . ToQuaternion ( ) ;
1161
1169
ValuePickerButton ( child , member , p => newValue = p . quaternionValue ) ;
1170
+ ValueApplyButton ( child , member , p => p . quaternionValue = ( Quaternion ) newValue ) ;
1162
1171
EditorGUIUtility . wideMode = widemode ;
1163
1172
}
1164
1173
else if ( member . MemberType == typeof ( Color ) )
@@ -1167,6 +1176,7 @@ IEnumerable<TypeMember> members
1167
1176
EditorGUIUtility . wideMode = true ;
1168
1177
newValue = EditorGUILayout . ColorField ( ChooseName ( i ) , ( Color ) value ) ;
1169
1178
ValuePickerButton ( child , member , p => newValue = p . colorValue ) ;
1179
+ ValueApplyButton ( child , member , p => p . colorValue = ( Color ) newValue ) ;
1170
1180
EditorGUIUtility . wideMode = widemode ;
1171
1181
}
1172
1182
EditorGUILayout . EndHorizontal ( ) ;
@@ -1263,6 +1273,7 @@ void ShowTransformComponentControl(IList<string> children, string child, ChooseV
1263
1273
EditorGUILayout . BeginHorizontal ( ) ;
1264
1274
var newValue = EditorGUILayout . Vector3Field ( ChooseName ( i ) , value ) ;
1265
1275
TransformPickerButton ( child , title , ref newValue ) ;
1276
+ TransformApplyButton ( child , title , newValue ) ;
1266
1277
EditorGUILayout . EndHorizontal ( ) ;
1267
1278
1268
1279
if ( value != newValue )
@@ -1384,6 +1395,15 @@ protected override Material[] GetMaterialSlots(string child)
1384
1395
if ( slots == null ) slots = ChooseMaterials . MaterialSlots ( child ) ;
1385
1396
return slots ;
1386
1397
}
1398
+
1399
+ protected override void SetMaterialSlot ( string child , int index , Material mat )
1400
+ {
1401
+ var go = GetGameObject ( child ) ;
1402
+ if ( go != null )
1403
+ {
1404
+ go . SetMaterialSlot ( index , mat ) ;
1405
+ }
1406
+ }
1387
1407
#endif
1388
1408
}
1389
1409
}
0 commit comments