From df358b8967a7e076dc270b90f39a850592c35e43 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 27 Jun 2020 00:09:48 +0100 Subject: [PATCH] wip, fixes, etc. --- src/bin/server.rs | 5 ++++- templates/script.js | 18 +++++++++++------- templates/test.tera | 2 +- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/bin/server.rs b/src/bin/server.rs index 6be343ae..1fbb5c46 100644 --- a/src/bin/server.rs +++ b/src/bin/server.rs @@ -53,6 +53,7 @@ fn loading(token : InstanceAccess) -> Result { #[derive(Serialize,Debug)] struct SessionRenderContext { clientid : u64, + player : u32, // xxx defs : Vec, uses : Vec, } @@ -94,7 +95,8 @@ fn session(form : Json) -> Result { pr.p.svg_select(&pri))); defs.push(pr.p.svg_x_defs(&pri)); - uses.push(format!(r##""##, + uses.push(format!( + r##""##, pri.id_piece(), pri.id, pr.pos[0], pr.pos[1])); @@ -102,6 +104,7 @@ fn session(form : Json) -> Result { SessionRenderContext { clientid : clientid.as_ffi(), + player : 2, // xxx defs, uses, } diff --git a/templates/script.js b/templates/script.js index fb4b897b..c8baecdb 100644 --- a/templates/script.js +++ b/templates/script.js @@ -7,6 +7,7 @@ messages = Object(); var our_dnd_type = "text/puvnex-game-server-dummy"; api_queue = []; api_posting = false; +var us; function xhr_post_then(url,data,good) { var xhr = new XMLHttpRequest(); @@ -62,7 +63,7 @@ function api_posted() { // dataset // delt.p piece id (static) -// delt.g grabbed user (+ve integer, null, or -1 meaning us) +// delt.g grabbed user (>=0 integer, or "") const DRAGGING = { // bitmask NO : 0, @@ -79,18 +80,19 @@ function drag_mousedown(e) { if (!e.target.dataset.p) { return; } drag_cancel(); delt = e.target; - if (delt.dataset.g > 0) { return; } + var g =delt.dataset.g; + if (g != "" && g != us) { return; } dcx = e.clientX; dcy = e.clientY; dox = parseFloat(delt.getAttributeNS(null,"x")); doy = parseFloat(delt.getAttributeNS(null,"y")); console.log('mousedown ...', delt.dataset.g, !!delt.dataset.g); - if (delt.dataset.g < 0) { + if (g == us) { dragging = DRAGGING.MAYBE_UNGRAB; } else { dragging = DRAGGING.MAYBE_GRAB; - delt.dataset.g = -1; + delt.dataset.g = us; api('grab', { t : token, p : delt.dataset.p, @@ -129,10 +131,10 @@ function drag_mousemove(e) { function drag_mouseup(e) { console.log('mouseup', dragging); drag_mousemove(e); - console.log('mouseup ...', dragging); + //console.log('mouseup ...', dragging); if (dragging == DRAGGING.MAYBE_UNGRAB || dragging == (DRAGGING.MAYBE_GRAB | DRAGGING.YES)) { - delt.dataset.g = null; + delt.dataset.g = ""; api('ungrab', { t : token, p : delt.dataset.p, @@ -155,7 +157,9 @@ messages.TestCounter = function(data) { } function startup() { - clientid = document.getElementById("main-body").dataset.clientid; + var body = document.getElementById("main-body"); + clientid = body.dataset.clientid; + us = body.dataset.us; status_node = document.getElementById('status'); status_node.innerHTML = 'js-done' dragthresh = 5; diff --git a/templates/test.tera b/templates/test.tera index 7e88db3f..1f393569 100644 --- a/templates/test.tera +++ b/templates/test.tera @@ -1,4 +1,4 @@ - +

Hi!

-- 2.30.2