chiark / gitweb /
script: piece_raise: allow overriding the actual implementation
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 27 Apr 2022 21:46:17 +0000 (22:46 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 30 Apr 2022 10:05:33 +0000 (11:05 +0100)
We're going to need to do something else for multigrab.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
templates/script.ts

index e55185a2f9f170b0aff6aad17613781e063abfbd..25f8162ad5cd99fc16097a7c2737a1018040db9d 100644 (file)
@@ -887,13 +887,18 @@ function raise_targets(uo: UoRecord) {
 }
 
 function piece_raise(piece: PieceId, p: PieceInfo,
-                    new_held_us_raising: HeldUsRaising) {
+                    new_held_us_raising: HeldUsRaising,
+  implement: (piece: PieceId, p: PieceInfo, z: ZCoord) => void
+  = function(piece: PieceId, p: PieceInfo, z: ZCoord) {
+    api_piece("setz", piece,p, { z: z });
+  })
+{
   p.held_us_raising = new_held_us_raising;
   piece_set_zlevel(piece,p, (oldtop_piece) => {
     let oldtop_p = pieces[oldtop_piece]!;
     let z = wasm_bindgen.increment(oldtop_p.z);
     p.z = z;
-    api_piece("setz", piece,p, { z: z });
+    implement(piece,p,z);
   });
 }