AssImpCustomPropertyImporter.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  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/SceneBuilder/ImportContexts/AssImpImportContexts.h>
  10. #include <SceneAPI/SceneCore/Components/LoadingComponent.h>
  11. namespace AZ::SceneAPI::SceneBuilder
  12. {
  13. //! Stores the string-value from a source scent asset's node; scene builders will be able to access
  14. //! the key-value pairs to tweak the scene manifest, create special rules, and produce custom assets
  15. //!
  16. //! The keys are all AZStd::string
  17. //! The supported value types are AZStd::string, bool, int32_t, int64_t, float, and double
  18. class AssImpCustomPropertyImporter
  19. : public SceneCore::LoadingComponent
  20. {
  21. public:
  22. AZ_COMPONENT(AssImpCustomPropertyImporter, "{BEFF2CA0-CB11-43FF-8BF9-1A58E133186A}", SceneCore::LoadingComponent);
  23. AssImpCustomPropertyImporter();
  24. ~AssImpCustomPropertyImporter() override = default;
  25. static void Reflect(ReflectContext* context);
  26. Events::ProcessingResult ImportCustomProperty(AssImpSceneNodeAppendedContext& context);
  27. };
  28. }