SoftNameBehavior.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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 <SceneAPI/SceneCore/Components/BehaviorComponent.h>
  10. #include <SceneAPI/SceneCore/Events/GraphMetaInfoBus.h>
  11. namespace AZ
  12. {
  13. namespace SceneProcessingConfig
  14. {
  15. class SoftNameBehavior
  16. : public SceneAPI::SceneCore::BehaviorComponent
  17. , protected SceneAPI::Events::GraphMetaInfoBus::Handler
  18. {
  19. public:
  20. AZ_COMPONENT(SoftNameBehavior, "{C2A9D207-485F-4752-B37B-388B0A52A956}", SceneAPI::SceneCore::BehaviorComponent);
  21. ~SoftNameBehavior() override = default;
  22. void Activate() override;
  23. void Deactivate() override;
  24. void GetVirtualTypes(
  25. SceneAPI::Events::GraphMetaInfo::VirtualTypesSet& types,
  26. const SceneAPI::Containers::Scene& scene,
  27. SceneAPI::Containers::SceneGraph::NodeIndex node) override;
  28. void GetVirtualTypeName(AZStd::string& name, Crc32 type) override;
  29. void GetAllVirtualTypes(SceneAPI::Events::GraphMetaInfo::VirtualTypesSet& types) override;
  30. static void Reflect(ReflectContext* context);
  31. };
  32. } // namespace SceneProcessingConfig
  33. } // namespace AZ