/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * * For complete copyright and license terms please see the LICENSE at the root of this * distribution (the "License"). All use of this software is governed by the License, * or, if provided, by the license below or the license accompanying this file. Do not * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * */ #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 Configurator. if (!context->IsRemovingReflection() && context->FindClassData(SceneData::MeshGroup::TYPEINFO_Uuid())) { return; } // Groups 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::OriginRule::Reflect(context); SceneData::MaterialRule::Reflect(context); SceneData::PhysicsRule::Reflect(context); SceneData::SkeletonProxyRule::Reflect(context); SceneData::SkinMeshAdvancedRule::Reflect(context); SceneData::TangentsRule::Reflect(context); // Utility SceneData::SceneNodeSelectionList::Reflect(context); // Graph objects context->Class()->Version(1); context->Class()->Version(1); AZ::SceneData::GraphData::BoneData::Reflect(context); AZ::SceneData::GraphData::MaterialData::Reflect(context); context->Class()->Version(1); context->Class()->Version(1); context->Class()->Version(1); context->Class()->Version(1); context->Class()->Version(1); AZ::SceneData::GraphData::RootBoneData::Reflect(context); context->Class()->Version(1); context->Class()->Version(1); AZ::SceneData::GraphData::TransformData::Reflect(context); } } // namespace SceneAPI } // namespace AZ