public void TryAddDomino(DominoModel domino, DominoModel edgeDomino) { var edge = edgeDomino == PreviousDomino ? EdgeToAdd.Left : EdgeToAdd.Right; switch (edge) { case EdgeToAdd.Left: { MovePrevDomino(domino); Dominos.Prepend(domino); TableCollectionDominoAdded?.Invoke(domino); LeftNumber = domino.First == LeftNumber ? domino.Second : domino.First; break; } case EdgeToAdd.Right: { MoveNextDomino(domino); Dominos.Add(domino); TableCollectionDominoAdded?.Invoke(domino); RightNumber = domino.First == RightNumber ? domino.Second : domino.First; break; } } }
public void AddToRight(DominoModel domino) { if (IsDominoOkForRight(domino)) { if (RightNumber != domino.First) { domino.SwapValues(); } RightNumber = domino.Second; Dominos.Add(domino); } }