|
|
|
@@ -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); |
|
|
|
|