public TerrainRenderer(World world) { map = world.Map; terrainInfo = map.Rules.TerrainInfo as DefaultTerrain; if (terrainInfo == null) { throw new InvalidDataException("TerrainRenderer can only be used with the DefaultTerrain parser"); } tileCache = new DefaultTileCache(terrainInfo); }
public void SetDefaultPatch(DefaultTerrain type) { int w = 4; int count = 5;//more than enough switch (type) { case DefaultTerrain.hillGrid: w = 4; for (int x = -count*w; x <= count * w; x += w) { for (int z = -count * w; z <= count * w; z += w) { SetHill(x, z); } } pm.SetPatchOrder(PatchOrder.HLM); break; case DefaultTerrain.valleys: w = 4; for (int i = -count * w; i <= count * w; i += w) { SetValley(i, 0, w, 10, valleyDir); } valleyDir = !valleyDir; pm.SetPatchOrder(PatchOrder.LHM); break; case DefaultTerrain.random: SetRandomPatchLevel(5); pm.SetPatchOrder(PatchOrder.HLM); break; } }