SceneBuilderDependencyBus.h 1.5 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 <AssetBuilderSDK/AssetBuilderSDK.h>
  10. #include <AzCore/EBus/EBus.h>
  11. namespace AZ
  12. {
  13. namespace SceneAPI
  14. {
  15. using JobDependencyList = AZStd::vector<AssetBuilderSDK::JobDependency>;
  16. /**
  17. * Ebus interface for registering SceneAPI Exporter dependencies, primarily used with asset builder components
  18. */
  19. class SceneBuilderDependencyRequests
  20. : public AZ::EBusTraits
  21. {
  22. public:
  23. //! Builders can implement this function to add job dependencies on other assets that may be used in the scene file conversion process.
  24. virtual void ReportJobDependencies(JobDependencyList& jobDependencyList, const char* platformIdentifier) { AZ_UNUSED(jobDependencyList); AZ_UNUSED(platformIdentifier); }
  25. //! Builders can implement this function to append to the job analysis fingerprint. This can be used to trigger rebuilds when global configuration changes.
  26. //! See also AssetBuilderDesc::m_analysisFingerprint.
  27. virtual void AddFingerprintInfo(AZStd::set<AZStd::string>& fingerprintInfo) { AZ_UNUSED(fingerprintInfo); }
  28. };
  29. using SceneBuilderDependencyBus = EBus<SceneBuilderDependencyRequests>;
  30. } // namespace SceneAPI
  31. } // namespace AZ