/* * Copyright (c) Contributors to the Open 3D Engine Project. * For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace AZ { namespace SceneAPI { void RegisterDataTypeReflection(AZ::SerializeContext* context) { // Check if this library hasn't already been reflected. This can happen as the ResourceCompilerScene needs // to explicitly load and reflect the SceneAPI libraries to discover the available extension, while // Gems with system components need to do the same in the Project Manager. if (!context->IsRemovingReflection() && context->FindClassData(SceneData::MeshGroup::TYPEINFO_Uuid())) { return; } // Groups SceneData::ImportGroup::Reflect(context); SceneData::MeshGroup::Reflect(context); SceneData::SkeletonGroup::Reflect(context); SceneData::SkinGroup::Reflect(context); SceneData::AnimationGroup::Reflect(context); // Rules SceneData::BlendShapeRule::Reflect(context); SceneData::CommentRule::Reflect(context); SceneData::LodRule::Reflect(context); SceneData::StaticMeshAdvancedRule::Reflect(context); SceneData::MaterialRule::Reflect(context); SceneData::UnmodifiableRule::Reflect(context); SceneData::ScriptProcessorRule::Reflect(context); SceneData::SkeletonProxyRule::Reflect(context); SceneData::SkinMeshAdvancedRule::Reflect(context); SceneData::TangentsRule::Reflect(context); SceneData::UVsRule::Reflect(context); SceneData::CoordinateSystemRule::Reflect(context); SceneData::TagRule::Reflect(context); // Utility SceneData::SceneNodeSelectionList::Reflect(context); // Graph objects AZ::SceneData::GraphData::AnimationData::Reflect(context); AZ::SceneData::GraphData::BlendShapeAnimationData::Reflect(context); AZ::SceneData::GraphData::BlendShapeData::Reflect(context); AZ::SceneData::GraphData::BoneData::Reflect(context); AZ::SceneData::GraphData::MaterialData::Reflect(context); AZ::SceneData::GraphData::MeshData::Reflect(context); AZ::SceneData::GraphData::MeshVertexColorData::Reflect(context); AZ::SceneData::GraphData::MeshVertexUVData::Reflect(context); AZ::SceneData::GraphData::MeshVertexTangentData::Reflect(context); AZ::SceneData::GraphData::MeshVertexBitangentData::Reflect(context); AZ::SceneData::GraphData::RootBoneData::Reflect(context); context->Class()->Version(1); context->Class()->Version(1); AZ::SceneData::GraphData::TransformData::Reflect(context); AZ::SceneData::GraphData::CustomPropertyData::Reflect(context); } void RegisterDataTypeBehaviorReflection(AZ::BehaviorContext* context) { AZ::SceneData::GraphData::BoneData::Reflect(context); AZ::SceneData::GraphData::MaterialData::Reflect(context); AZ::SceneData::GraphData::RootBoneData::Reflect(context); AZ::SceneData::GraphData::TransformData::Reflect(context); AZ::SceneData::GraphData::MeshData::Reflect(context); AZ::SceneData::GraphData::MeshVertexColorData::Reflect(context); AZ::SceneData::GraphData::MeshVertexUVData::Reflect(context); AZ::SceneData::GraphData::MeshVertexTangentData::Reflect(context); AZ::SceneData::GraphData::MeshVertexBitangentData::Reflect(context); AZ::SceneData::GraphData::AnimationData::Reflect(context); AZ::SceneData::GraphData::BlendShapeAnimationData::Reflect(context); AZ::SceneData::GraphData::BlendShapeData::Reflect(context); AZ::SceneData::GraphData::CustomPropertyData::Reflect(context); } } // namespace SceneAPI } // namespace AZ