SimulationInterfacesEditorModule.cpp 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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 "ROS2SimulationInterfacesEditorSystemComponent.h"
  9. #include "SimulationEntitiesManagerEditor.h"
  10. #include "SimulationFeaturesAggregatorEditor.h"
  11. #include "SimulationManagerEditor.h"
  12. #include <SimulationInterfaces/SimulationInterfacesTypeIds.h>
  13. #include <SimulationInterfacesModuleInterface.h>
  14. namespace SimulationInterfaces
  15. {
  16. class SimulationInterfacesEditorModule : public SimulationInterfacesModuleInterface
  17. {
  18. public:
  19. AZ_RTTI(SimulationInterfacesEditorModule, SimulationInterfacesEditorModuleTypeId, SimulationInterfacesModuleInterface);
  20. AZ_CLASS_ALLOCATOR(SimulationInterfacesEditorModule, AZ::SystemAllocator);
  21. SimulationInterfacesEditorModule()
  22. {
  23. m_descriptors.insert(
  24. m_descriptors.end(),
  25. {
  26. SimulationEntitiesManagerEditor::CreateDescriptor(),
  27. SimulationManagerEditor::CreateDescriptor(),
  28. SimulationFeaturesAggregatorEditor::CreateDescriptor(),
  29. ROS2SimulationInterfaces::ROS2SimulationInterfacesEditorSystemComponent::CreateDescriptor(),
  30. });
  31. }
  32. /**
  33. * Add required SystemComponents to the SystemEntity.
  34. * Non-SystemComponents should not be added here
  35. */
  36. AZ::ComponentTypeList GetRequiredSystemComponents() const override
  37. {
  38. return AZ::ComponentTypeList{
  39. azrtti_typeid<SimulationEntitiesManagerEditor>(),
  40. azrtti_typeid<SimulationFeaturesAggregatorEditor>(),
  41. azrtti_typeid<ROS2SimulationInterfaces::ROS2SimulationInterfacesEditorSystemComponent>(),
  42. };
  43. }
  44. };
  45. } // namespace SimulationInterfaces
  46. AZ_DECLARE_MODULE_CLASS(Gem_SimulationInterfaces_Editor, SimulationInterfaces::SimulationInterfacesEditorModule)