NodeSoftNameSetting.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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 <Config/SettingsObjects/SoftNameSetting.h>
  10. namespace AZ
  11. {
  12. namespace SceneProcessingConfig
  13. {
  14. class NodeSoftNameSetting : public SoftNameSetting
  15. {
  16. public:
  17. AZ_CLASS_ALLOCATOR(NodeSoftNameSetting, SystemAllocator);
  18. AZ_RTTI(NodeSoftNameSetting, "{74629DAE-641A-4BCE-B6D5-3F7DD9F647FA}", SoftNameSetting);
  19. NodeSoftNameSetting() = default;
  20. NodeSoftNameSetting(const char* pattern, SceneAPI::SceneCore::PatternMatcher::MatchApproach approach,
  21. const char* virtualType, bool includeChildren);
  22. ~NodeSoftNameSetting() override = default;
  23. bool IsVirtualType(const SceneAPI::Containers::Scene& scene, SceneAPI::Containers::SceneGraph::NodeIndex node) const override;
  24. const AZ::Uuid GetTypeId() const override;
  25. static void Reflect(AZ::ReflectContext* context);
  26. private:
  27. bool MatchesPattern(const SceneAPI::Containers::SceneGraph::Name& name) const;
  28. bool m_includeChildren = false;
  29. };
  30. } // namespace SceneProcessingConfig
  31. } // namespace AZ