private void CopyData(TileDataArray src, TileDataArray dst) { int minX = Mathf.Min(src.Extents.X, dst.Extents.X); int minY = Mathf.Min(src.Extents.Y, dst.Extents.Y); int minZ = Mathf.Min(src.Extents.Z, dst.Extents.Z); for (int y = 0; y < minY; ++y) { for (int z = 0; z < minZ; ++z) { for (int x = 0; x < minX; ++x) { dst[x, y, z] = src[x, y, z]; } } } }
public void ApplyDataResize() { dataResize.ClampSize(); if (Data != null) { if (!dataResize.DoesSizeMatch(data.Extents)) { var newData = new TileDataArray(dataResize.CreateExtents()); CopyData(Data, newData); data = newData; } } else { var e = dataResize.CreateExtents(); data = new TileDataArray(e); } }