internal void AddDrop(PlayerValue player, PositionValue position, PieceValue piece) { _changes.Add(MovePartModel.Create(MoveKinds.Drop, player, position, piece)); }
internal void AddCapture(PositionValue position) { _changes.Add(MovePartModel.Create(MoveKinds.Take, Player, position, Piece)); }
internal void AddChangePiece(PositionValue position, PieceValue piece) { _changes.Add(MovePartModel.Create(MoveKinds.Piece, Player, position, piece)); }
internal void AddChangeOwner(PositionValue position, PlayerValue player) { _changes.Add(MovePartModel.Create(MoveKinds.Owner, player, position, Piece)); }
internal MovePartModel CreateMovePart(PieceValue piece) { return((Kind == MoveKinds.Move || Kind == MoveKinds.Copy) ? MovePartModel.Create(Kind, Player, From, piece ?? Piece, To ?? Current) : MovePartModel.Create(Kind, Player, To ?? Current, piece ?? Piece, null)); }