public static bool IsShoreTile(int x, int y) { if (IsOutOfBounds(x, y)) { return(false); } BiomeInfo biomeInfo = BiomeData.GetBiomeInfo(x, y); if (shoreTiles[x, y] != null) { return((bool)shoreTiles[x, y]); } if (IsWaterTile(x, y)) { shoreTiles[x, y] = false; return(false); } if (IsWaterTile(x + 1, y) || IsWaterTile(x, y + 1) || IsWaterTile(x - 1, y) || IsWaterTile(x, y - 1)) { shoreTiles[x, y] = true; return(true); } shoreTiles[x, y] = false; return(false); }
public static bool IsWaterTile(int x, int y) { if (IsOutOfBounds(x, y)) { return(false); } BiomeInfo biomeInfo = BiomeData.GetBiomeInfo(x, y); if (waterTiles[x, y] != null) { return((bool)waterTiles[x, y]); } if (biomeInfo.biomeIndex == 0) { waterTiles[x, y] = true; return(true); } waterTiles[x, y] = false; return(false); }
void AddFace(Vector3[] sideVerts, int x, int y, MeshData meshData) { int vi = meshData.verts.Count; Color[] startCols = { water.startCol, sand.startCol, grass.startCol }; Color[] endCols = { water.endCol, sand.endCol, grass.endCol }; meshData.verts.AddRange(sideVerts); BiomeInfo biomeInfo = BiomeData.GetBiomeInfo(x, y); Color color = Color.Lerp(startCols[biomeInfo.biomeIndex], endCols[biomeInfo.biomeIndex], biomeInfo.biomeDistance); meshData.colors.AddRange(new[] { color, color, color, color }); meshData.tris.Add(vi); meshData.tris.Add(vi + 1); meshData.tris.Add(vi + 2); meshData.tris.Add(vi + 2); meshData.tris.Add(vi + 1); meshData.tris.Add(vi + 3); }