in SamplesCommon/SamplesCommon/LightControl.xaml.cs [125:204]
private void LightTypeSelection_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ComboBoxItem item = LightTypeSelection.SelectedValue as ComboBoxItem;
LightTypes lightType = (LightTypes)item.Tag;
switch (lightType)
{
case LightTypes.PointLight:
XOffsetRow.Height = CreateGridLength(1, GridUnitType.Auto);
YOffsetRow.Height = CreateGridLength(1, GridUnitType.Auto);
ZOffsetRow.Height = CreateGridLength(1, GridUnitType.Auto);
ConstantAttenuationRow.Height = CreateGridLength(1, GridUnitType.Auto);
LinearAttenuationRow.Height = CreateGridLength(1, GridUnitType.Auto);
QuadraticAttenuationRow.Height = CreateGridLength(1, GridUnitType.Auto);
InnerConeRow.Height = CreateGridLength(0);
OuterConeRow.Height = CreateGridLength(0);
InnerConeColorRow.Height = CreateGridLength(0);
OuterConeColorRow.Height = CreateGridLength(0);
LightColorRow.Height = CreateGridLength(1, GridUnitType.Auto);
DirectionXRow.Height = CreateGridLength(0);
DirectionYRow.Height = CreateGridLength(0);
break;
case LightTypes.SpotLight:
XOffsetRow.Height = CreateGridLength(1, GridUnitType.Auto);
YOffsetRow.Height = CreateGridLength(1, GridUnitType.Auto);
ZOffsetRow.Height = CreateGridLength(1, GridUnitType.Auto);
ConstantAttenuationRow.Height = CreateGridLength(1, GridUnitType.Auto);
LinearAttenuationRow.Height = CreateGridLength(1, GridUnitType.Auto);
QuadraticAttenuationRow.Height = CreateGridLength(1, GridUnitType.Auto);
InnerConeRow.Height = CreateGridLength(1, GridUnitType.Auto);
OuterConeRow.Height = CreateGridLength(1, GridUnitType.Auto);
InnerConeColorRow.Height = CreateGridLength(1, GridUnitType.Auto);
OuterConeColorRow.Height = CreateGridLength(1, GridUnitType.Auto);
LightColorRow.Height = CreateGridLength(0);
DirectionXRow.Height = CreateGridLength(1, GridUnitType.Auto);
DirectionYRow.Height = CreateGridLength(1, GridUnitType.Auto);
break;
case LightTypes.DistantLight:
XOffsetRow.Height = CreateGridLength(0);
YOffsetRow.Height = CreateGridLength(0);
ZOffsetRow.Height = CreateGridLength(0);
ConstantAttenuationRow.Height = CreateGridLength(0);
LinearAttenuationRow.Height = CreateGridLength(0);
QuadraticAttenuationRow.Height = CreateGridLength(0);
InnerConeRow.Height = CreateGridLength(0);
OuterConeRow.Height = CreateGridLength(0);
InnerConeColorRow.Height = CreateGridLength(0);
OuterConeColorRow.Height = CreateGridLength(0);
LightColorRow.Height = CreateGridLength(1, GridUnitType.Auto);
DirectionXRow.Height = CreateGridLength(1, GridUnitType.Auto);
DirectionYRow.Height = CreateGridLength(1, GridUnitType.Auto);
break;
default:
break;
}
// Update UI for selected light type
if (lightType == LightTypes.SpotLight)
{
InnerConeRow.Height = CreateGridLength(1, GridUnitType.Auto);
OuterConeRow.Height = CreateGridLength(1, GridUnitType.Auto);
InnerConeColorRow.Height = CreateGridLength(1, GridUnitType.Auto);
OuterConeColorRow.Height = CreateGridLength(1, GridUnitType.Auto);
LightColorRow.Height = CreateGridLength(0);
}
else
{
InnerConeRow.Height = CreateGridLength(0);
OuterConeRow.Height = CreateGridLength(0);
InnerConeColorRow.Height = CreateGridLength(0);
OuterConeColorRow.Height = CreateGridLength(0);
LightColorRow.Height = CreateGridLength(1, GridUnitType.Auto);
}
UpdateLight();
}