@ -264,6 +264,22 @@ namespace AZ
// Update the cached light type.
m_lightType = m_controller . m_configuration . m_lightType ;
// Check to see if the current photometric type is supported by the light type. If not, convert to lumens before deactivating.
auto supportedPhotometricUnits = m_controller . m_configuration . GetValidPhotometricUnits ( ) ;
auto foundIt = AZStd : : find_if (
supportedPhotometricUnits . begin ( ) ,
supportedPhotometricUnits . end ( ) ,
[ & ] ( const Edit : : EnumConstant < PhotometricUnit > & entry ) - > bool
{
return AZStd : : RemoveEnum < PhotometricUnit > : : type ( m_controller . m_configuration . m_intensityMode ) = = entry . m_value ;
}
) ;
if ( foundIt = = supportedPhotometricUnits . end ( ) )
{
m_controller . ConvertToIntensityMode ( PhotometricUnit : : Lumen ) ;
}
// componets may be removed or added here, so deactivate now and reactivate the entity when everything is done shifting around.
GetEntity ( ) - > Deactivate ( ) ;
@ -334,6 +350,11 @@ namespace AZ
break ;
}
if ( foundIt = = supportedPhotometricUnits . end ( ) )
{
m_controller . ConvertToIntensityMode ( PhotometricUnit : : Lumen ) ;
}
return true ;
}