public static SCTerrain ReadSCTearrain(this SCMap scMap) { SCTerrain terrain = new SCTerrain(); terrain.size = scMap.ReadVector2i(); terrain.scaleFactor = scMap.ReadFloat(); terrain.heights = scMap.ReadShorts(((int)terrain.size.x + 1) * ((int)terrain.size.y + 1)); terrain.strTTerrain = scMap.ReadString(); return(terrain); }
public static float[,] ReadTerrainData(this SCMap scMap, Vector2 size) { short[] heightMap = scMap.ReadShorts(((int)size.x + 1) * ((int)size.y + 1)); float[,] heights = new float[(int)size.x + 1, (int)size.y + 1]; for (int i = 0; i < size.x + 1; i++) { for (int j = 0; j < size.y + 1; j++) { heights[j, i] = heightMap[i + (((int)size.y + 1) - j - 1) * ((int)size.x + 1)] / 65535f; } } return(heights); }