ROSConDemoSystemComponent.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include <AzCore/Component/Component.h>
  3. #include <Atom/RPI.Public/Pass/PassSystemInterface.h>
  4. #include <ROSConDemo/ROSConDemoBus.h>
  5. namespace ROSConDemo
  6. {
  7. class ROSConDemoSystemComponent
  8. : public AZ::Component
  9. , protected ROSConDemoRequestBus::Handler
  10. {
  11. public:
  12. AZ_COMPONENT(ROSConDemoSystemComponent, "{194FFE4C-CA95-400E-BCA2-CB5083ABEC5F}");
  13. static void Reflect(AZ::ReflectContext* context);
  14. static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided);
  15. static void GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatible);
  16. static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required);
  17. static void GetDependentServices(AZ::ComponentDescriptor::DependencyArrayType& dependent);
  18. ROSConDemoSystemComponent();
  19. ~ROSConDemoSystemComponent();
  20. protected:
  21. ////////////////////////////////////////////////////////////////////////
  22. // ROSConDemoRequestBus interface implementation
  23. ////////////////////////////////////////////////////////////////////////
  24. ////////////////////////////////////////////////////////////////////////
  25. // AZ::Component interface implementation
  26. void Init() override;
  27. void Activate() override;
  28. void Deactivate() override;
  29. ////////////////////////////////////////////////////////////////////////
  30. private:
  31. //! Used for loading the pass templates
  32. AZ::RPI::PassSystemInterface::OnReadyLoadTemplatesEvent::Handler m_loadTemplatesHandler;
  33. };
  34. }