TerrainModule.cpp 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #include <AzCore/Memory/SystemAllocator.h>
  9. #include <AzCore/Module/Module.h>
  10. #include <TerrainModule.h>
  11. #include <Components/TerrainSystemComponent.h>
  12. #include <Components/TerrainWorldComponent.h>
  13. #include <Components/TerrainWorldDebuggerComponent.h>
  14. #include <Components/TerrainWorldRendererComponent.h>
  15. #include <Components/TerrainHeightGradientListComponent.h>
  16. #include <Components/TerrainLayerSpawnerComponent.h>
  17. #include <Components/TerrainSurfaceGradientListComponent.h>
  18. #include <Components/TerrainSurfaceDataSystemComponent.h>
  19. #include <Components/TerrainPhysicsColliderComponent.h>
  20. #include <TerrainRenderer/Components/TerrainSurfaceMaterialsListComponent.h>
  21. #include <TerrainRenderer/Components/TerrainMacroMaterialComponent.h>
  22. namespace Terrain
  23. {
  24. TerrainModule::TerrainModule()
  25. : AZ::Module()
  26. {
  27. m_descriptors.insert(m_descriptors.end(), {
  28. TerrainSurfaceMaterialsListComponent::CreateDescriptor(),
  29. TerrainSystemComponent::CreateDescriptor(),
  30. TerrainWorldComponent::CreateDescriptor(),
  31. TerrainWorldDebuggerComponent::CreateDescriptor(),
  32. TerrainWorldRendererComponent::CreateDescriptor(),
  33. TerrainHeightGradientListComponent::CreateDescriptor(),
  34. TerrainLayerSpawnerComponent::CreateDescriptor(),
  35. TerrainMacroMaterialComponent::CreateDescriptor(),
  36. TerrainSurfaceGradientListComponent::CreateDescriptor(),
  37. TerrainSurfaceDataSystemComponent::CreateDescriptor(),
  38. TerrainPhysicsColliderComponent::CreateDescriptor()
  39. });
  40. }
  41. AZ::ComponentTypeList TerrainModule::GetRequiredSystemComponents() const
  42. {
  43. return AZ::ComponentTypeList{
  44. azrtti_typeid<TerrainSystemComponent>(),
  45. azrtti_typeid<TerrainSurfaceDataSystemComponent>(),
  46. };
  47. }
  48. }
  49. #if !defined(TERRAIN_EDITOR)
  50. #if defined(O3DE_GEM_NAME)
  51. AZ_DECLARE_MODULE_CLASS(AZ_JOIN(Gem_, O3DE_GEM_NAME), Terrain::TerrainModule)
  52. #else
  53. AZ_DECLARE_MODULE_CLASS(Gem_Terrain, Terrain::TerrainModule)
  54. #endif
  55. #endif