public IEnumerable <Direction> GetValidDirs(IntVector3 p) { foreach (var d in DirectionExtensions.CardinalUpDownDirections.ToArray()) { var dst = p + d; if (m_terrain.Contains(dst) && m_terrain.GetTileData(dst).IsWaterPassable) { yield return(d); } } }
static bool CreateOre(TerrainData terrain, IntVector3 p, MaterialID oreMaterialID) { if (!terrain.Contains(p)) { return(false); } var td = terrain.GetTileData(p); if (td.ID != TileID.NaturalWall) { return(false); } if (Materials.GetMaterial(td.MaterialID).Category != MaterialCategory.Rock) { return(false); } td.SecondaryMaterialID = oreMaterialID; terrain.SetTileDataNoHeight(p, td); return(true); }
static bool CreateOre(TerrainData terrain, IntVector3 p, MaterialID oreMaterialID) { if (!terrain.Contains(p)) return false; var td = terrain.GetTileData(p); if (td.ID != TileID.NaturalWall) return false; if (Materials.GetMaterial(td.MaterialID).Category != MaterialCategory.Rock) return false; td.SecondaryMaterialID = oreMaterialID; terrain.SetTileDataNoHeight(p, td); return true; }