void GameObjectLightComponentWidget::on_m_NearAttSB_editingFinished() { if (!m_IsReady) { return; } Light* light = nullptr; //////////////////////////////////////// // Verify LOC and Get Light Object light = GetLight(); if(light == nullptr) { AETODO("Add log"); return; } float newNearAtt = static_cast<float>(m_GameObjectLightComponentWidgetQtUI.m_NearAttSB->value()); float farAtt = light->GetFarAttenuation(); if (newNearAtt > farAtt) { light->SetFarAttenuation(newNearAtt); m_GameObjectLightComponentWidgetQtUI.m_FarAttSB->setValue(newNearAtt); } light->SetNearAttenuation(newNearAtt); }
void GameObjectLightComponentWidget::InitFields() { Light* light = nullptr; //////////////////////////////////////// // Set Ready to false, so Light cannot change // properties while been initialized m_IsReady = false; //////////////////////////////////////// // Check Engine Viewer AEAssert(m_EngineViewer != nullptr); if (m_EngineViewer == nullptr) { return; } //////////////////////////////////////// // Verify LOC and Get Light Object light = GetLight(); if(light == nullptr) { AETODO("Add log"); return; } //////////////////////////////////////// // Set Light Type SetLightTypeComboBoxIndex(light->GetLightType()); //////////////////////////////////////// // Set Enabled m_GameObjectLightComponentWidgetQtUI.m_Enabled->setChecked(light->IsEnabled()); //////////////////////////////////////// // Set Intensity m_GameObjectLightComponentWidgetQtUI.m_IntensitySB->setValue(static_cast<double>(light->GetIntensity())); //////////////////////////////////////// // Set Color QColor qColor = AEQTHelpers::GetQColorFromColor(light->GetColor()); SetColorToColorWidget(qColor); //////////////////////////////////////// // Set Near and Far Attenuation m_GameObjectLightComponentWidgetQtUI.m_NearAttSB->setValue(static_cast<double>(light->GetNearAttenuation())); m_GameObjectLightComponentWidgetQtUI.m_FarAttSB->setValue(static_cast<double>(light->GetFarAttenuation())); //////////////////////////////////////// // Set Shadow Enabled m_GameObjectLightComponentWidgetQtUI.m_ShadowEnabled->setChecked(light->IsShadowEnabled()); m_GameObjectLightComponentWidgetQtUI.m_DrawFrustum->setEnabled(light->IsShadowEnabled()); //////////////////////////////////////// // Enable/Visibility of Angle options if(light->GetLightType() == LightType::Spot) { m_GameObjectLightComponentWidgetQtUI.m_LabelAngle->setVisible(true); m_GameObjectLightComponentWidgetQtUI.m_LabelFalloffAngle->setVisible(true); m_GameObjectLightComponentWidgetQtUI.m_AngleSB->setVisible(true); m_GameObjectLightComponentWidgetQtUI.m_FalloffAngleSB->setVisible(true); //////////////////////////////////////// // Get Spot Light SpotLight* spotLight = reinterpret_cast<SpotLight*>(light); //////////////////////////////////////// // Set Angle and Fall out Angle m_GameObjectLightComponentWidgetQtUI.m_AngleSB->setValue(static_cast<double>(spotLight->GetAngle())); m_GameObjectLightComponentWidgetQtUI.m_FalloffAngleSB->setValue(static_cast<double>(spotLight->GetFallOffAngle())); } else { m_GameObjectLightComponentWidgetQtUI.m_LabelAngle->setVisible(false); m_GameObjectLightComponentWidgetQtUI.m_LabelFalloffAngle->setVisible(false); m_GameObjectLightComponentWidgetQtUI.m_AngleSB->setVisible(false); m_GameObjectLightComponentWidgetQtUI.m_FalloffAngleSB->setVisible(false); } //////////////////////////////////////// // Enable/Visibility of Draw Frustum Cascades if (light->GetLightType() == LightType::Directional) { m_GameObjectLightComponentWidgetQtUI.m_DrawCascadeFrustums->setVisible(true); } else { m_GameObjectLightComponentWidgetQtUI.m_DrawCascadeFrustums->setVisible(false); } //////////////////////////////////////// // Light is Ready to change properties m_IsReady = true; }