| @@ -75,7 +75,7 @@ function abs2rel(coords) { | |||
| return { x: (coords.x - 50) / canvasWidth, y: coords.y / canvasHeight }; | |||
| } | |||
| function updateEntityElement(entity, element) { | |||
| function updateEntityElement(entity, element, zIndex) { | |||
| const position = rel2abs({ x: element.dataset.x, y: element.dataset.y }); | |||
| const view = element.dataset.view; | |||
| @@ -93,14 +93,30 @@ function updateEntityElement(entity, element) { | |||
| bottomName.style.left = position.x + entX + "px"; | |||
| bottomName.style.top = "95vh"; | |||
| bottomName.innerText = entity.name; | |||
| if (zIndex) { | |||
| element.style.zIndex = zIndex; | |||
| } | |||
| } | |||
| function updateSizes() { | |||
| drawScale(); | |||
| Object.entries(entities).forEach(([key, entity]) => { | |||
| const element = document.querySelector("#entity-" + key); | |||
| updateEntityElement(entity, element); | |||
| let ordered = Object.entries(entities); | |||
| ordered.sort((e1, e2) => { | |||
| return e1[1].views[e1[1].view].height.toNumber("meters") - e2[1].views[e2[1].view].height.toNumber("meters") | |||
| }); | |||
| let zIndex = ordered.length; | |||
| ordered.forEach(entity => { | |||
| const element = document.querySelector("#entity-" + entity[0]); | |||
| updateEntityElement(entity[1], element, zIndex); | |||
| zIndex -= 1; | |||
| }); | |||
| } | |||
| function drawScale() { | |||
| @@ -615,6 +631,7 @@ function displayEntity(entity, view, x, y) { | |||
| box.id = "entity-" + entityIndex; | |||
| box.dataset.key = entityIndex; | |||
| box.dataset.view = view; | |||
| entity.view = view; | |||
| entities[entityIndex] = entity; | |||
| entity.index = entityIndex; | |||
| @@ -700,7 +717,8 @@ document.addEventListener("DOMContentLoaded", () => { | |||
| }); | |||
| document.querySelector("#entity-view").addEventListener("input", e => { | |||
| selected.dataset.view = e.target.value | |||
| selected.dataset.view = e.target.value; | |||
| entities[selected.dataset.view].view = e.target.value; | |||
| const image = entities[selected.dataset.key].views[e.target.value].image | |||
| selected.querySelector(".entity-image").src = image.source; | |||
| @@ -745,7 +763,6 @@ document.addEventListener("DOMContentLoaded", () => { | |||
| }); | |||
| document.addEventListener("keydown", e => { | |||
| console.log(e) | |||
| if (e.key == "Delete") { | |||
| if (selected) { | |||
| removeEntity(selected); | |||