public void GenerateHeightMap() { int radius = 2; for (int i = radius; i < IslandMap.m.GetLength(0) - radius; i++) { for (int j = radius; j < IslandMap.m.GetLength(1) - radius; j++) { if (IslandMap.l[i, j]) { if (IslandMap.m[i, j]) { IslandMap.h[i, j] = MapUtil.GetSurroundingCount(i, j, IslandMap.m, 5) / 16 + ApplicationSettings.seaLevel - 1; IslandMap.h[i, j] = IslandMap.h[i, j] >= ApplicationSettings.seaLevel ? IslandMap.h[i, j] : ApplicationSettings.seaLevel; } else { IslandMap.h[i, j] = ApplicationSettings.seaLevel + 1; } } else if (IslandMap.o[i, j]) { if (MapUtil.HasSurrounding(i, j, IslandMap.l, radius)) { IslandMap.h[i, j] = ApplicationSettings.seaLevel; } else { IslandMap.h[i, j] = ApplicationSettings.seaLevel - 1; } } else if (IslandMap.lk[i, j]) { IslandMap.h[i, j] = ApplicationSettings.seaLevel - 1; } else if (IslandMap.r[i, j]) { if (MapUtil.HasSurrounding(i, j, IslandMap.l, radius)) { IslandMap.h[i, j] = ApplicationSettings.seaLevel; } else { IslandMap.h[i, j] = ApplicationSettings.seaLevel - 1; } } } } }