chiark / gitweb /
dice js: Initial plumbing of animiation
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 16 Apr 2022 11:15:57 +0000 (12:15 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 16 Apr 2022 11:52:43 +0000 (12:52 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
templates/script.ts

index b8d50ad6033756992e11a0c44ba871488c8e46f7..5268aac192ad0ae14f0bc225fd1929e179797fab 100644 (file)
@@ -2262,9 +2262,24 @@ function startup() {
   check_z_order();
 }
 
+type DieSpecialRendering = SpecialRendering & {
+  anim_id: number,
+};
 special_renderings['Die'] = function(piece: PieceId, p: PieceInfo,
-                                    s: SpecialRendering) {
-}
+                                    s: DieSpecialRendering) {
+  s.stop = die_rendering_stop as any;
+  s.anim_id = window.requestAnimationFrame(
+    function(ts) { die_render_frame(piece, p, s, ts) }
+  );
+} as any;
+function die_render_frame(piece: PieceId, p: PieceInfo,
+                         s: DieSpecialRendering, ts: DOMHighResTimeStamp) {
+  console.log('DIE RENDER', piece, ts);
+}
+function die_rendering_stop(piece: PieceId, p: PieceInfo,
+                           s: DieSpecialRendering) {
+  window.cancelAnimationFrame(s.anim_id);
+}    
 
 declare var wasm_input : any;
 var wasm_promise : Promise<any>;;