/* * 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 * */ #pragma once #include #include namespace GradientSignal { class EditorSurfaceAltitudeGradientComponent : public EditorGradientComponentBase { public: using BaseClassType = EditorGradientComponentBase; AZ_EDITOR_COMPONENT(EditorSurfaceAltitudeGradientComponent, EditorSurfaceAltitudeGradientComponentTypeId, BaseClassType); static void Reflect(AZ::ReflectContext* context); static constexpr const char* const s_categoryName = "Gradients"; static constexpr const char* const s_componentName = "Altitude Gradient"; static constexpr const char* const s_componentDescription = "Generates a gradient based on height within a range"; static constexpr const char* const s_icon = "Editor/Icons/Components/Gradient.svg"; static constexpr const char* const s_viewportIcon = "Editor/Icons/Components/Viewport/Gradient.svg"; static constexpr const char* const s_helpUrl = ""; // AZ::Component interface void Activate() override; void Deactivate() override; ////////////////////////////////////////////////////////////////////////// // DependencyNotificationBus void OnCompositionChanged() override; AZ::u32 ConfigurationChanged() override; private: void UpdateFromShape(); }; }