3
0

BuilderModule.cpp 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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/RTTI/RTTI.h>
  9. #include <AzCore/Module/Module.h>
  10. #include <Model/ModelExporterComponent.h>
  11. #include <Model/ModelAssetBuilderComponent.h>
  12. #include <Model/MaterialAssetBuilderComponent.h>
  13. #include <BuilderComponent.h>
  14. namespace AZ
  15. {
  16. namespace RPI
  17. {
  18. /**
  19. * @class BuilderModule
  20. * @brief Exposes Atom Building components to the Asset Processor
  21. */
  22. class BuilderModule final
  23. : public AZ::Module
  24. {
  25. public:
  26. AZ_RTTI(BuilderModule, "{CA15BD7F-01B4-4959-BEF2-81FA3AD2C834}", AZ::Module);
  27. BuilderModule()
  28. {
  29. m_descriptors.push_back(ModelExporterComponent::CreateDescriptor());
  30. m_descriptors.push_back(ModelAssetBuilderComponent::CreateDescriptor());
  31. m_descriptors.push_back(ModelAssetDependenciesComponent::CreateDescriptor());
  32. m_descriptors.push_back(MaterialAssetBuilderComponent::CreateDescriptor());
  33. m_descriptors.push_back(MaterialAssetDependenciesComponent::CreateDescriptor());
  34. m_descriptors.push_back(BuilderComponent::CreateDescriptor());
  35. }
  36. AZ::ComponentTypeList GetRequiredSystemComponents() const override
  37. {
  38. return AZ::ComponentTypeList();
  39. }
  40. };
  41. } // namespace RPI
  42. } // namespace AZ
  43. #if defined(O3DE_GEM_NAME)
  44. AZ_DECLARE_MODULE_CLASS(AZ_JOIN(Gem_, O3DE_GEM_NAME, _Builders), AZ::RPI::BuilderModule)
  45. #else
  46. AZ_DECLARE_MODULE_CLASS(Gem_Atom_RPI_Edit_Builders, AZ::RPI::BuilderModule)
  47. #endif