Make stairs visible on roof levels
This commit is contained in:
@@ -249,6 +249,12 @@ document.querySelectorAll('[name="select-elevation"]').forEach(el => {
|
||||
});
|
||||
});
|
||||
|
||||
document.querySelector('#toggle-grid-vis input').addEventListener('change', function () {
|
||||
const svg = document.querySelector('object').contentDocument.querySelector('svg');
|
||||
svg.querySelector('.grid').style.display = this.checked ? 'inline' : 'none';
|
||||
svg.querySelector('#dots').style.display = this.checked ? 'inline' : 'none';
|
||||
});
|
||||
|
||||
contentVisToggleEl.addEventListener('input', toggleContentVis);
|
||||
contentVisToggleEl.checked = (localStorage.getItem('content-visibility') !== 'false');
|
||||
toggleContentVis();
|
||||
|
||||
@@ -413,7 +413,7 @@ function addElevationClass(element) {
|
||||
return el => element.classList.add(elevationClass(el));
|
||||
}
|
||||
|
||||
function drawBuildings(buildings, container, { q: pq, r: pr, s: ps }, furniture) {
|
||||
function drawBuildings(buildings, container, { q: pq, r: pr, s: ps }, features) {
|
||||
return buildings.reduce((acc, building) => {
|
||||
const buildingContainer = document.createElementNS(xmlns, 'g');
|
||||
buildingContainer.classList.add(`building`);
|
||||
@@ -465,17 +465,19 @@ function drawBuildings(buildings, container, { q: pq, r: pr, s: ps }, furniture)
|
||||
if ((use.classList.contains('doors') || use.classList.contains('door-edges')) && !use.classList.contains('exits'))
|
||||
building.elevationLevels.slice(0, -1).forEach(addElevationClass(use));
|
||||
|
||||
if (use.classList.contains('furniture'))
|
||||
building.elevationLevels.slice(0, -1).forEach(addElevationClass(use));
|
||||
|
||||
buildingStructure.appendChild(use);
|
||||
}
|
||||
|
||||
const furnitureEl = furniture && furniture.querySelector(`.${building.type} .furniture`);
|
||||
const featuresEl = features && features.querySelector(`.${building.type}`);
|
||||
|
||||
if (furnitureEl) {
|
||||
building.elevationLevels.slice(0, -1).forEach(addElevationClass(furnitureEl));
|
||||
buildingStructure.appendChild(furnitureEl);
|
||||
for (let child of [...featuresEl.children]) {
|
||||
if (child.classList.contains('furniture'))
|
||||
building.elevationLevels.slice(0, -1).forEach(addElevationClass(child));
|
||||
|
||||
if (child.classList.contains('stairs'))
|
||||
building.elevationLevels.forEach(addElevationClass(child));
|
||||
|
||||
buildingStructure.appendChild(child);
|
||||
}
|
||||
|
||||
return acc;
|
||||
|
||||
Reference in New Issue
Block a user