private void SetKeySmooth(EffectLayer layer, DeviceKeys key, Color color) { if (!currentKeyColors.ContainsKey(key)) { currentKeyColors[key] = Color.Empty; } KeyBlendState blendState = new KeyBlendState(currentKeyColors[key], color); if (keyBlendStates.ContainsKey(key)) { if (!keyBlendStates[key].colorTo.Equals(color)) { blendState.colorFrom = keyBlendStates[key].GetBlendedColor(); keyBlendStates[key] = blendState; } } else { keyBlendStates[key] = blendState; } keyBlendStates[key].Increment(); if (keyBlendStates[key].Finished()) { SetKey(layer, key, color); } else { layer.Set(key, keyBlendStates[key].GetBlendedColor()); } }
public bool Equals(KeyBlendState blendState) { return(colorFrom.Equals(blendState.colorFrom) && colorTo.Equals(blendState.colorTo)); }