Example #1
0
    public ICrossBoard Clone()
    {
        var result = new CrossBoard(_sizeX, _sizeY);

        result._startWords.AddRange(_startWords);
        result._horizontalPatterns = new List <CrossPattern>();
        foreach (var patt in _horizontalPatterns)
        {
            result._horizontalPatterns.Add((CrossPattern)patt.Clone());
        }

        result._verticalPatterns = new List <CrossPattern>();
        foreach (var patt in _verticalPatterns)
        {
            result._verticalPatterns.Add((CrossPattern)patt.Clone());
        }

        result.BindAdjacentPatterns();

        return(result);
    }