200 {
201
202 float r = BleedingIndicationConstants.DROP_COLOR_RED;
203 float g = BleedingIndicationConstants.DROP_COLOR_GREEN;
204 float b = BleedingIndicationConstants.DROP_COLOR_BLUE;
205 float desaturationEnd = BleedingIndicationConstants.DROP_COLOR_DESATURATIONEND;
206#ifdef DIAG_DEVELOPER
207 if (DbgBleedingIndicationStaticInfo.m_DbgUseOverrideValues)
208 {
209 r = DbgBleedingIndicationStaticInfo.m_DbgDropColorRed;
210 g = DbgBleedingIndicationStaticInfo.m_DbgDropColorGreen;
211 b = DbgBleedingIndicationStaticInfo.m_DbgDropColorBlue;
212 desaturationEnd = DbgBleedingIndicationStaticInfo.m_DbgDesaturationEnd;
213 }
214#endif
215
216
217#ifdef DIAG_DEVELOPER
218 if (!DbgBleedingIndicationStaticInfo.m_DbgUseOverrideValues || (DbgBleedingIndicationStaticInfo.m_DbgUseOverrideValues && DbgBleedingIndicationStaticInfo.m_DbgDropDesaturate) )
219 {
220#endif
221 Param par = PPEManagerStatic.GetPPEManager().GetPostProcessCurrentValues(
PostProcessEffectType.Glow,PPEGlow.PARAM_SATURATION);
222 float saturationProgress = Param1<float>.Cast(par).param1;
223 saturationProgress = Easing.EaseOutSine(saturationProgress);
224 saturationProgress = Math.Lerp(desaturationEnd,1.0,saturationProgress);
225 float lowest_channel = Math.Min(Math.Min(r,g),b);
226 r = Math.Lerp(lowest_channel,r,saturationProgress);
227 g = Math.Lerp(lowest_channel,g,saturationProgress);
228 b = Math.Lerp(lowest_channel,b,saturationProgress);
229#ifdef DIAG_DEVELOPER
230 }
231#endif
232
233 int color =
ARGB(0x00,r,g,b);
235 }
PostProcessEffectType
Post-process effect type.
int ARGB(int a, int r, int g, int b)