From e3e7cd1c759c270f5a49a53cd7c8beaf8ff5c3f3 Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Mon, 3 Feb 2020 12:40:50 -0500 Subject: [PATCH] Allow entities to be deselected --- macrovision.css | 1 + macrovision.js | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/macrovision.css b/macrovision.css index d36ae1c6..dee23724 100644 --- a/macrovision.css +++ b/macrovision.css @@ -44,6 +44,7 @@ body { #entities { position: relative; + user-select: none; } #world { diff --git a/macrovision.js b/macrovision.js index c5715e9d..e873b71c 100644 --- a/macrovision.js +++ b/macrovision.js @@ -118,11 +118,15 @@ function clickUp() { } -function select(target) { +function deselect() { if (selected) { selected.classList.remove("selected"); } + selected = null; +} +function select(target) { + deselect(); selected = target; selectedEntity = entities[target.dataset.key]; @@ -148,7 +152,6 @@ function displayEntity(entity, x, y) { img.style.top = y + "px"; img.addEventListener("mousedown", e => clickDown(e)); - document.addEventListener("mouseup", e => clickUp()); img.id = "entity-" + entityIndex; img.dataset.key = entityIndex; @@ -180,6 +183,11 @@ document.addEventListener("DOMContentLoaded", () => { document.querySelector("#options-height-unit").addEventListener("input", e => { updateWorldHeight(); }) + + const entities = document.querySelector("#entities"); + + world.addEventListener("mousedown", e => deselect()); + document.addEventListener("mouseup", e => clickUp()); }); window.addEventListener("resize", () => {