You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Gems/GradientSignal/Code/Source/Editor/EditorSurfaceAltitudeGradie...

53 lines
1.6 KiB
C++

/*
* Copyright (c) Contributors to the Open 3D Engine Project.
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#include "EditorSurfaceAltitudeGradientComponent.h"
namespace GradientSignal
{
void EditorSurfaceAltitudeGradientComponent::Reflect(AZ::ReflectContext* context)
{
EditorGradientComponentBase::ReflectSubClass<EditorSurfaceAltitudeGradientComponent, BaseClassType>(context);
}
void EditorSurfaceAltitudeGradientComponent::Activate()
{
BaseClassType::Activate();
UpdateFromShape();
}
void EditorSurfaceAltitudeGradientComponent::Deactivate()
{
BaseClassType::Deactivate();
}
AZ::u32 EditorSurfaceAltitudeGradientComponent::ConfigurationChanged()
{
BaseClassType::ConfigurationChanged();
UpdateFromShape();
// Refresh attributes because changing shapes affects read-only status of bounds
return AZ::Edit::PropertyRefreshLevels::AttributesAndValues;
}
void EditorSurfaceAltitudeGradientComponent::OnCompositionChanged()
{
UpdateFromShape();
AzToolsFramework::ToolsApplicationEvents::Bus::Broadcast(&AzToolsFramework::ToolsApplicationEvents::InvalidatePropertyDisplay, AzToolsFramework::Refresh_AttributesAndValues);
}
void EditorSurfaceAltitudeGradientComponent::UpdateFromShape()
{
// Update config from shape on game component, copy that back to our config
m_component.UpdateFromShape();
m_component.WriteOutConfig(&m_configuration);
SetDirty();
}
}