// 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));
}
}
}