/// Rohmer Maxime /// 28 April 2022 /// Tile.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WaveFunctionCollapseCLI { internal class Tile:ICloneable,IEqualityComparer { private List _possibleTyles; private List _avaibleTypes; internal List PossibleTyles { get => _possibleTyles; set => _possibleTyles = value; } internal List AvaibleTypes { get => _avaibleTypes; set => _avaibleTypes = value; } public Tile(List avaibleTypes) { AvaibleTypes = avaibleTypes; PossibleTyles = new List(); foreach (TileType theType in AvaibleTypes) { PossibleTyles.Add(theType); } } public object Clone() { Tile copy = new Tile(this.AvaibleTypes); copy.PossibleTyles.Clear(); foreach (TileType pt in PossibleTyles) { copy.PossibleTyles.Add((TileType)pt.Clone()); } return copy; } public bool Equals(Tile x, Tile y) { return x.PossibleTyles.Equals(y.PossibleTyles); } public int GetHashCode(Tile obj) { throw new NotImplementedException(); } } }