From: Ian Jackson Date: Tue, 13 Apr 2021 19:51:59 +0000 (+0100) Subject: js: Break out grab_clicked X-Git-Tag: otter-0.5.0~95 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=503ac56f8777ae561f260151c62511659d9e39c8;p=otter.git js: Break out grab_clicked Signed-off-by: Ian Jackson --- diff --git a/templates/script.ts b/templates/script.ts index dc63f2f4..26c8b35e 100644 --- a/templates/script.ts +++ b/templates/script.ts @@ -840,6 +840,14 @@ type MouseFindClicked = null | { pinned: boolean }; +function grab_clicked(clicked: PieceId[]) { + for (let piece of clicked) { + let p = pieces[piece]!; + set_grab_us(piece,p); + api_piece(wresting ? 'wrest' : 'grab', piece,p, { }); + } +} + function mouse_clicked_one(piece: PieceId): MouseFindClicked { let p = pieces[piece]!; let held = p.held; @@ -975,9 +983,8 @@ function drag_mousedown(e : MouseEvent, shifted: boolean) { p.drag_delta = Math.min(Math.max(delta, -SPECIAL_MULTI_DELTA_MAX), +SPECIAL_MULTI_DELTA_MAX); drag_add_piece(piece,p); - set_grab_us(piece,p); - api_piece(wresting ? 'wrest' : 'grab', piece,p, { }); } + grab_clicked(clicked); } else { add_log_message('That piece is held by another player.'); return;