private void ResizeDetailResolution(TerrainData terrainData, int resolution, int resolutionPerPatch)
{
if (resolution == terrainData.detailResolution)
{
List<int[,]> list = new List<int[,]>();
for (int i = 0; i < terrainData.detailPrototypes.Length; i++)
{
list.Add(terrainData.GetDetailLayer(0, 0, terrainData.detailWidth, terrainData.detailHeight, i));
}
terrainData.SetDetailResolution(resolution, resolutionPerPatch);
for (int j = 0; j < list.Count; j++)
{
terrainData.SetDetailLayer(0, 0, j, list[j]);
}
}
else
{
terrainData.SetDetailResolution(resolution, resolutionPerPatch);
}
}