/* * 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. * */ #pragma once #include #include #include #include #include #include #include namespace AZ { namespace Render { namespace EditorMaterialComponentUtil { struct MaterialEditData { AZ::Data::AssetId m_materialAssetId = {}; AZ::Data::Asset m_materialAsset = {}; AZ::Data::Asset m_materialTypeAsset = {}; AZ::Data::Asset m_materialParentAsset = {}; AZ::RPI::MaterialSourceData m_materialSourceData; AZ::RPI::MaterialTypeSourceData m_materialTypeSourceData; AZStd::string m_materialSourcePath; AZStd::string m_materialTypeSourcePath; AZStd::string m_materialParentSourcePath; MaterialPropertyOverrideMap m_materialPropertyOverrideMap = {}; }; bool LoadMaterialEditDataFromAssetId(const AZ::Data::AssetId& assetId, MaterialEditData& editData); bool SaveSourceMaterialFromEditData(const AZStd::string& path, const MaterialEditData& editData); } // namespace EditorMaterialComponentUtil } // namespace Render } // namespace AZ