Module.cpp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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 <RPI.Private/Module.h>
  11. #include <Atom/RPI.Public/Image/ImageTagSystemComponent.h>
  12. #include <Atom/RPI.Public/Model/ModelTagSystemComponent.h>
  13. #include <RPI.Private/RPISystemComponent.h>
  14. #include <RPI.Private/PassTemplatesAutoLoader.h>
  15. AZ::RPI::Module::Module()
  16. {
  17. m_descriptors.push_back(AZ::RPI::RPISystemComponent::CreateDescriptor());
  18. m_descriptors.push_back(AZ::RPI::ImageTagSystemComponent::CreateDescriptor());
  19. m_descriptors.push_back(AZ::RPI::ModelTagSystemComponent::CreateDescriptor());
  20. m_descriptors.push_back(AZ::RPI::PassTemplatesAutoLoader::CreateDescriptor());
  21. }
  22. AZ::ComponentTypeList AZ::RPI::Module::GetRequiredSystemComponents() const
  23. {
  24. return
  25. {
  26. azrtti_typeid<AZ::RPI::RPISystemComponent>(),
  27. azrtti_typeid<AZ::RPI::ImageTagSystemComponent>(),
  28. azrtti_typeid<AZ::RPI::ModelTagSystemComponent>(),
  29. azrtti_typeid<AZ::RPI::PassTemplatesAutoLoader>()
  30. };
  31. }
  32. #ifndef RPI_EDITOR
  33. #if defined(O3DE_GEM_NAME)
  34. AZ_DECLARE_MODULE_CLASS(AZ_JOIN(Gem_, O3DE_GEM_NAME, _Private), AZ::RPI::Module)
  35. #else
  36. AZ_DECLARE_MODULE_CLASS(Gem_Atom_RPI_Private, AZ::RPI::Module)
  37. #endif
  38. #endif // RPI_EDITOR