chiark / gitweb /
js: Break out grab_clicked
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 13 Apr 2021 19:51:59 +0000 (20:51 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 13 Apr 2021 20:21:28 +0000 (21:21 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
templates/script.ts

index dc63f2f4a7163c5e5bf4c7892d7ba4961d278c61..26c8b35e7292cd47dfe08697376b6539ec47b67c 100644 (file)
@@ -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;