From: Ian Jackson Date: Sun, 5 Jul 2020 20:33:06 +0000 (+0100) Subject: wip X-Git-Tag: otter-0.2.0~1439 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=881e80887d76eb1ac7128ad794e5508be8b81e8f;p=otter.git wip --- diff --git a/src/bin/server.rs b/src/bin/server.rs index 758af966..98268e27 100644 --- a/src/bin/server.rs +++ b/src/bin/server.rs @@ -92,7 +92,8 @@ fn session(form : Json) -> Result { alldefs.push((pri.id, defs)); uses.push(format!( - r##""##, + r##""##, + pri.id_piece(), pri.id_piece(), pri.id, pr.pos[0], pr.pos[1])); diff --git a/templates/script.js b/templates/script.js index 2e13955d..872ee124 100644 --- a/templates/script.js +++ b/templates/script.js @@ -8,7 +8,8 @@ // In svg toplevel // // uelem -// +// #use{} +// // .piece piece id (static) // .gplayer grabbed user (player id string, or "") // container to allow quick movement and hang stuff off @@ -213,6 +214,19 @@ function drag_cancel() { messages.PieceUpdate = function(data) { console.log('PIECE UPDATE ',data) + var piece = data[0]; + var info = data [1]; + var uelem = document.getElementById('use'+piece); + var delem = document.getElementById('defs'+piece); + delem.innerHTML = info.svgs; + uelem.setAttributeNS(null, "x", info.pos[0]); + uelem.setAttributeNS(null, "y", info.pos[1]); + // xxx do something about conflict + if (info.held == '') { + set_ungrab(uelem, piece); + } else { + set_grab(uelem, piece, info.held); + } } function startup() {