@@ -63,16 +63,17 @@ static PropertyModification[] MaterialPropertyToPropertyModifications(string nam
63
63
return modifications ;
64
64
}
65
65
66
- static bool ApplyMaterialModificationToAnimationRecording ( PropertyModification [ ] modifications )
66
+ static bool ApplyMaterialModificationToAnimationRecording ( PropertyModification [ ] previousModifications , PropertyModification [ ] currentModifications )
67
67
{
68
- UndoPropertyModification [ ] undoModifications = new UndoPropertyModification [ modifications . Length ] ;
68
+ UndoPropertyModification [ ] undoModifications = new UndoPropertyModification [ previousModifications . Length ] ;
69
69
for ( int i = 0 ; i < undoModifications . Length ; ++ i )
70
70
{
71
- undoModifications [ i ] . previousValue = modifications [ i ] ;
71
+ undoModifications [ i ] . previousValue = previousModifications [ i ] ;
72
+ undoModifications [ i ] . currentValue = currentModifications [ i ] ;
72
73
}
73
74
74
75
UndoPropertyModification [ ] ret = Undo . InvokePostprocessModifications ( undoModifications ) ;
75
- return ret . Length != modifications . Length ;
76
+ return ret . Length != undoModifications . Length ;
76
77
}
77
78
78
79
static public bool OverridePropertyColor ( MaterialProperty materialProp , Renderer target , out Color color )
@@ -141,22 +142,22 @@ static public bool ApplyMaterialModificationToAnimationRecording(MaterialPropert
141
142
{
142
143
case MaterialProperty . PropType . Color :
143
144
SetupMaterialPropertyBlock ( materialProp , changedMask , target ) ;
144
- applied = ApplyMaterialModificationToAnimationRecording ( MaterialPropertyToPropertyModifications ( materialProp , target , ( Color ) oldValue ) ) ;
145
+ applied = ApplyMaterialModificationToAnimationRecording ( MaterialPropertyToPropertyModifications ( materialProp , target , ( Color ) oldValue ) , MaterialPropertyToPropertyModifications ( materialProp , target , materialProp . colorValue ) ) ;
145
146
if ( ! applied )
146
147
TearDownMaterialPropertyBlock ( target ) ;
147
148
return applied ;
148
149
149
150
case MaterialProperty . PropType . Vector :
150
151
SetupMaterialPropertyBlock ( materialProp , changedMask , target ) ;
151
- applied = ApplyMaterialModificationToAnimationRecording ( MaterialPropertyToPropertyModifications ( materialProp , target , ( Vector4 ) oldValue ) ) ;
152
+ applied = ApplyMaterialModificationToAnimationRecording ( MaterialPropertyToPropertyModifications ( materialProp , target , ( Vector4 ) oldValue ) , MaterialPropertyToPropertyModifications ( materialProp , target , materialProp . vectorValue ) ) ;
152
153
if ( ! applied )
153
154
TearDownMaterialPropertyBlock ( target ) ;
154
155
return applied ;
155
156
156
157
case MaterialProperty . PropType . Float :
157
158
case MaterialProperty . PropType . Range :
158
159
SetupMaterialPropertyBlock ( materialProp , changedMask , target ) ;
159
- applied = ApplyMaterialModificationToAnimationRecording ( MaterialPropertyToPropertyModifications ( materialProp , target , ( float ) oldValue ) ) ;
160
+ applied = ApplyMaterialModificationToAnimationRecording ( MaterialPropertyToPropertyModifications ( materialProp , target , ( float ) oldValue ) , MaterialPropertyToPropertyModifications ( materialProp , target , materialProp . floatValue ) ) ;
160
161
if ( ! applied )
161
162
TearDownMaterialPropertyBlock ( target ) ;
162
163
return applied ;
@@ -167,7 +168,7 @@ static public bool ApplyMaterialModificationToAnimationRecording(MaterialPropert
167
168
{
168
169
string name = materialProp . name + "_ST" ;
169
170
SetupMaterialPropertyBlock ( materialProp , changedMask , target ) ;
170
- applied = ApplyMaterialModificationToAnimationRecording ( MaterialPropertyToPropertyModifications ( name , target , ( Vector4 ) oldValue ) ) ;
171
+ applied = ApplyMaterialModificationToAnimationRecording ( MaterialPropertyToPropertyModifications ( name , target , ( Vector4 ) oldValue ) , MaterialPropertyToPropertyModifications ( name , target , materialProp . textureScaleAndOffset ) ) ;
171
172
if ( ! applied )
172
173
TearDownMaterialPropertyBlock ( target ) ;
173
174
return applied ;
0 commit comments