/* * 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 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Vegetation { VegetationModule::VegetationModule() : AZ::Module() { m_descriptors.insert(m_descriptors.end(), { AreaBlenderComponent::CreateDescriptor(), BlockerComponent::CreateDescriptor(), DescriptorListCombinerComponent::CreateDescriptor(), DescriptorListComponent::CreateDescriptor(), DescriptorWeightSelectorComponent::CreateDescriptor(), DistanceBetweenFilterComponent::CreateDescriptor(), DistributionFilterComponent::CreateDescriptor(), LevelSettingsComponent::CreateDescriptor(), MeshBlockerComponent::CreateDescriptor(), PositionModifierComponent::CreateDescriptor(), RotationModifierComponent::CreateDescriptor(), ScaleModifierComponent::CreateDescriptor(), ShapeIntersectionFilterComponent::CreateDescriptor(), SlopeAlignmentModifierComponent::CreateDescriptor(), SpawnerComponent::CreateDescriptor(), SurfaceAltitudeFilterComponent::CreateDescriptor(), SurfaceMaskDepthFilterComponent::CreateDescriptor(), SurfaceMaskFilterComponent::CreateDescriptor(), SurfaceSlopeFilterComponent::CreateDescriptor(), AreaSystemComponent::CreateDescriptor(), InstanceSystemComponent::CreateDescriptor(), VegetationSystemComponent::CreateDescriptor(), DebugComponent::CreateDescriptor(), DebugSystemComponent::CreateDescriptor(), AreaDebugComponent::CreateDescriptor(), }); } AZ::ComponentTypeList VegetationModule::GetRequiredSystemComponents() const { // [LY-90913] Revisit the need for these to be required components if/when other components ever get created that fulfill the same // service and interface as these. Until then, making them required improves usability because users will be guided to add all the // dependent system components that vegetation needs. return AZ::ComponentTypeList{ azrtti_typeid(), azrtti_typeid(), azrtti_typeid(), azrtti_typeid(), }; } } #if !defined(VEGETATION_EDITOR) // DO NOT MODIFY THIS LINE UNLESS YOU RENAME THE GEM // The first parameter should be GemName_GemIdLower // The second should be the fully qualified name of the class above AZ_DECLARE_MODULE_CLASS(Gem_Vegetation, Vegetation::VegetationModule) #endif