protected virtual void SetFromIData(ILogicalDevice logicalDevice, IData data)
{
object value;
bool masterPower = true;
var masterPowerDevice = logicalDevice as IHasMasterPower;
if (masterPowerDevice != null)
masterPower = masterPowerDevice.MasterPower;
if (data.TryGetValue(DataElements.Brightness, out value))
this.colorBrightness.Brightness = (double)value * (masterPower ? 1 : 0);
else
{
bool? power = data.GetValue<bool>(DataElements.Power);
if (power.HasValue)
this.colorBrightness.Brightness = (power.Value && masterPower) ? 1 : 0;
}
if (data.TryGetValue(DataElements.Color, out value))
this.colorBrightness.Color = (Color)value;
}