/*
* 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 "ROS2EditorSystemComponent.h"
#include
#include
#include
#include
#ifdef WITH_GAZEBO_MSGS
#include
#include
#endif
namespace ROS2
{
class ROS2EditorModule : public ROS2ModuleInterface
{
public:
AZ_RTTI(ROS2EditorModule, ROS2EditorModuleTypeId, ROS2ModuleInterface);
AZ_CLASS_ALLOCATOR(ROS2EditorModule, AZ::SystemAllocator);
ROS2EditorModule()
{
m_descriptors.insert(
m_descriptors.end(),
{ ROS2EditorSystemComponent::CreateDescriptor(),
#ifdef WITH_GAZEBO_MSGS
ROS2SpawnerEditorComponent::CreateDescriptor(),
ROS2SpawnPointEditorComponent::CreateDescriptor(),
#endif
ROS2FrameSystemComponent::CreateDescriptor(),
ROS2FrameEditorComponent::CreateDescriptor() });
}
AZ::ComponentTypeList GetRequiredSystemComponents() const override
{
return AZ::ComponentTypeList{
azrtti_typeid(),
azrtti_typeid(),
};
}
};
} // namespace ROS2
#if defined(O3DE_GEM_NAME)
AZ_DECLARE_MODULE_CLASS(AZ_JOIN(Gem_, O3DE_GEM_NAME, _Editor), ROS2::ROS2EditorModule)
#else
AZ_DECLARE_MODULE_CLASS(Gem_ROS2_Editor, ROS2::ROS2EditorModule)
#endif