public void SetGridLevelAndHeightMap(int gridLevel, Func<Cell, float> heightMap)
{
if (gridLevel < 0) { throw new ArgumentOutOfRangeException("gridLevel"); }
if (heightMap == null) { throw new ArgumentNullException("heightMap"); }
if (gridLevel != this.gridLevel)
{
this.gridLevel = gridLevel;
updateTriangles();
}
else
{
if (heightMap == this.heightMap) { return; }
}
this.heightMap = heightMap;
updateVertices();
}