/* * 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 namespace AZ { namespace Render { void EditorMeshStatsForLod::Reflect(ReflectContext* context) { if (AZ::SerializeContext* serializeContext = azrtti_cast(context)) { serializeContext->Class() ->Field("meshCount", &EditorMeshStatsForLod::m_meshCount) ->Field("vertCount", &EditorMeshStatsForLod::m_vertCount) ->Field("triCount", &EditorMeshStatsForLod::m_triCount) ; if (AZ::EditContext* editContext = serializeContext->GetEditContext()) { editContext->Class("EditorMeshStatsForLod", "") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ->DataElement(AZ::Edit::UIHandlers::Default, &EditorMeshStatsForLod::m_meshCount, "Mesh Count", "") ->Attribute(AZ::Edit::Attributes::ReadOnly, true) ->DataElement(AZ::Edit::UIHandlers::Default, &EditorMeshStatsForLod::m_vertCount, "Vert Count", "") ->Attribute(AZ::Edit::Attributes::ReadOnly, true) ->DataElement(AZ::Edit::UIHandlers::Default, &EditorMeshStatsForLod::m_triCount, "Tri Count", "") ->Attribute(AZ::Edit::Attributes::ReadOnly, true) ; } } } void EditorMeshStats::Reflect(ReflectContext* context) { EditorMeshStatsForLod::Reflect(context); if (auto jsonContext = azrtti_cast(context)) { jsonContext->Serializer()->HandlesType(); } if (AZ::SerializeContext* serializeContext = azrtti_cast(context)) { serializeContext->Class() ->Field("meshStatsForLod", &EditorMeshStats::m_meshStatsForLod) ; if (AZ::EditContext* editContext = serializeContext->GetEditContext()) { editContext->Class( "EditorMeshStats", "") ->ClassElement(AZ::Edit::ClassElements::EditorData, "") ->DataElement(AZ::Edit::UIHandlers::Default, &EditorMeshStats::m_meshStatsForLod, "Mesh Stats", "") ->Attribute(AZ::Edit::Attributes::NameLabelOverride, "") ->Attribute(AZ::Edit::Attributes::ContainerCanBeModified, false) ->Attribute(AZ::Edit::Attributes::AutoExpand, true) ->Attribute(AZ::Edit::Attributes::IndexedChildNameLabelOverride, &EditorMeshStats::GetLodLabel) ; } } } AZStd::string EditorMeshStats::GetLodLabel(int index) const { return AZStd::string::format("LOD %d", index); } } // namespace Render } // namespace AZ