public TerrainTypes GetTerrainType(int x, int y)
{
TerrainTypes terrain = TerrainTypes.None;
double height = Math.Round(m_terrain.GetHeight(x, y));
if (height <= m_coastLine)
{
terrain = TerrainTypes.Ocean;
}
if (height > m_coastLine && height <= (m_coastLine + ((m_terrainHeight - m_coastLine) * m_shoreLine)))
{
terrain = TerrainTypes.Dirt;
}
if (height > m_coastLine + ((m_terrainHeight - m_coastLine) * m_shoreLine))
{
terrain = TerrainTypes.Grass;
}
if (height > m_coastLine + ((m_terrainHeight - m_coastLine) * m_treeLine))
{
terrain = TerrainTypes.Stone;
}
if (terrain != TerrainTypes.Ocean)
{
if (Math.Abs(m_rivers.GetHeight(x, y)) < m_terrainHeight * .06)
{
terrain = TerrainTypes.Dirt;
}
if (Math.Abs(m_rivers.GetHeight(x, y)) < m_terrainHeight * .03)
{
terrain = TerrainTypes.Ocean;
}
}
return terrain;
}