// Magica Cloth 2. // Copyright (c) 2024 MagicaSoft. // https://magicasoft.jp using System.Collections.Generic; using UnityEngine; namespace MagicaCloth2 { /// /// PreBuildデータの固有部分 /// [System.Serializable] public class UniquePreBuildData : ITransform { public int version; public ResultCode buildResult; public List renderSetupDataList = new List(); public VirtualMesh.UniqueSerializationData proxyMesh; public List renderMeshList = new List(); //========================================================================================= public ResultCode DataValidate() { if (version != Define.System.LatestPreBuildVersion) return new ResultCode(Define.Result.PreBuildData_VersionMismatch); if (buildResult.IsFaild()) return buildResult; return ResultCode.Success; } public void GetUsedTransform(HashSet transformSet) { renderSetupDataList.ForEach(x => x?.GetUsedTransform(transformSet)); proxyMesh?.GetUsedTransform(transformSet); renderMeshList.ForEach(x => x?.GetUsedTransform(transformSet)); } public void ReplaceTransform(Dictionary replaceDict) { renderSetupDataList.ForEach(x => x?.ReplaceTransform(replaceDict)); proxyMesh?.ReplaceTransform(replaceDict); renderMeshList.ForEach(x => x?.ReplaceTransform(replaceDict)); } } }