MaterialRule.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 <AzCore/Memory/Memory.h>
  10. #include <SceneAPI/SceneCore/DataTypes/Rules/IMaterialRule.h>
  11. namespace AZ
  12. {
  13. class ReflectContext;
  14. namespace SceneAPI
  15. {
  16. namespace Containers
  17. {
  18. class Scene;
  19. }
  20. namespace SceneData
  21. {
  22. class MaterialRule
  23. : public DataTypes::IMaterialRule
  24. {
  25. public:
  26. AZ_RTTI(MaterialRule, "{35620013-A27C-4F6D-87BF-72F11688ACAD}", DataTypes::IMaterialRule);
  27. AZ_CLASS_ALLOCATOR_DECL
  28. MaterialRule();
  29. ~MaterialRule() override = default;
  30. bool RemoveUnusedMaterials() const override;
  31. bool UpdateMaterials() const override;
  32. static void Reflect(ReflectContext* context);
  33. protected:
  34. bool m_removeMaterials;
  35. bool m_updateMaterials;
  36. };
  37. } // SceneData
  38. } // SceneAPI
  39. } // AZ