namespace Mosaic; /// /// Represents a mosaic consisting of several tiles. /// public class TilePattern { private readonly Tile[] _tiles; public readonly PatternStyle Style; public double Area { get { double area = 0; foreach (var tile in _tiles) { area += tile.Area; } return area / 1000000; } } public int Pieces => _tiles.Length; public TilePattern(PatternStyle style, Tile[] tiles) { Style = style; _tiles = tiles; } public decimal CalcProductionCost() { decimal productionCost = 0; foreach (var tile in _tiles) { productionCost += tile.CalcProductionCost(); } return productionCost; } }