ExecutionSlotComponent.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  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. #pragma once
  9. #include <Components/Slots/SlotComponent.h>
  10. namespace GraphCanvas
  11. {
  12. class ExecutionSlotComponent
  13. : public SlotComponent
  14. {
  15. public:
  16. AZ_COMPONENT(ExecutionSlotComponent, "{36A31585-F202-4D83-9491-6178C8B94F03}", SlotComponent);
  17. static void Reflect(AZ::ReflectContext* reflectContext);
  18. static AZ::Entity* CreateExecutionSlot(const AZ::EntityId& nodeId, const SlotConfiguration& slotConfiguration);
  19. ExecutionSlotComponent();
  20. explicit ExecutionSlotComponent(const SlotConfiguration& slotConfiguration);
  21. ~ExecutionSlotComponent();
  22. // SlotRequestBus
  23. SlotConfiguration* CloneSlotConfiguration() const override;
  24. ////
  25. protected:
  26. ExecutionSlotComponent(const ExecutionSlotComponent&) = delete;
  27. ExecutionSlotComponent& operator=(const ExecutionSlotComponent&) = delete;
  28. AZ::Entity* ConstructConnectionEntity(const Endpoint& sourceEndpoint, const Endpoint& targetEndpoint, bool createModelConnection) override;
  29. };
  30. }