public override bool IsMoveValid(Move m) { int startX = m.Column; int startY = m.Row; var moveEnd = m.OtherCell(); int endX = moveEnd.Column; int endY = moveEnd.Row; return(match3.CanSwapGridPositions(startX, startY, endX, endY)); }