private void UpdateCastingShadowLight() { int index = LightTypeComboBox.SelectedIndex; if (index == -1 || _shadowSpotLight == null) { return; } if (index == 0) // Spot light { // Enable shadow casting for spot light _shadowSpotLight.SetDXAttribute(DXAttributeType.IsCastingShadow, _isShadowEnabled); _directionalLight.SetDXAttribute(DXAttributeType.IsCastingShadow, false); // Use only _shadowSpotLight if (_lightsModel3DGroup.Children.Contains(_directionalLight)) { _lightsModel3DGroup.Children.Remove(_directionalLight); } if (!_lightsModel3DGroup.Children.Contains(_shadowSpotLight)) { _lightsModel3DGroup.Children.Add(_shadowSpotLight); } } else // Directional light { // Enable shadow casting for directional light _directionalLight.SetDXAttribute(DXAttributeType.IsCastingShadow, _isShadowEnabled); _shadowSpotLight.SetDXAttribute(DXAttributeType.IsCastingShadow, false); // Use only _directionalLight if (_lightsModel3DGroup.Children.Contains(_shadowSpotLight)) { _lightsModel3DGroup.Children.Remove(_shadowSpotLight); } if (!_lightsModel3DGroup.Children.Contains(_directionalLight)) { _lightsModel3DGroup.Children.Add(_directionalLight); } } }