109 lines
3.0 KiB
HTML
109 lines
3.0 KiB
HTML
|
|
<!DOCTYPE html>
|
|||
|
|
<html lang="de">
|
|||
|
|
<head>
|
|||
|
|
<meta charset="UTF-8" />
|
|||
|
|
<title>MapViewer – Spielleiter</title>
|
|||
|
|
<link rel="stylesheet" href="style.css" />
|
|||
|
|
|
|||
|
|
<style>
|
|||
|
|
body.paused {
|
|||
|
|
outline: 8px solid rgba(0, 150, 255, 0.75);
|
|||
|
|
outline-offset: -8px;
|
|||
|
|
}
|
|||
|
|
</style>
|
|||
|
|
</head>
|
|||
|
|
|
|||
|
|
<!-- Weltkarte Button unten links -->
|
|||
|
|
<button id="mapToggleButton" title="Weltkarte anzeigen"
|
|||
|
|
style="
|
|||
|
|
position: fixed;
|
|||
|
|
bottom: 15px;
|
|||
|
|
left: 15px;
|
|||
|
|
width: 100px;
|
|||
|
|
height: 100px;
|
|||
|
|
font-size: 60px;
|
|||
|
|
background-color: #444;
|
|||
|
|
color: green;
|
|||
|
|
border: none;
|
|||
|
|
border-radius: 10px;
|
|||
|
|
cursor: pointer;
|
|||
|
|
z-index: 9999;">
|
|||
|
|
🗺
|
|||
|
|
</button>
|
|||
|
|
|
|||
|
|
<body>
|
|||
|
|
<div id="controls">
|
|||
|
|
<label><input type="checkbox" id="toggleFog"></label>
|
|||
|
|
<button id="fogMode">Modus: Radierer</button><br>
|
|||
|
|
<button id="fogClear">Alles aufdecken</button>
|
|||
|
|
<button id="fogFull">Alles vernebeln</button><br>
|
|||
|
|
<label>Pinselgröße: <input type="range" id="brushSize" min="1" max="5" value="1" /></label>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<div style="background:#ccc; padding:10px; margin-top:10px;">
|
|||
|
|
<label><input type="checkbox" id="toggleHexgrid" checked> Hexgrid anzeigen</label><br>
|
|||
|
|
<label>Grid-Skalierung: <input type="range" id="gridScaleSlider" min="0.1" max="4.0" step="0.1" value="1"></label>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<!-- Battlemap-Auswahl Buttons -->
|
|||
|
|
<div id="battlemap-buttons" style="position: absolute; top: 175px; left: 10px; background: rgba(255,255,255,0.8); padding: 10px; border-radius: 10px; z-index: 9999;">
|
|||
|
|
<strong>Battle Maps:</strong>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<canvas id="mapCanvas"></canvas>
|
|||
|
|
|
|||
|
|
<iframe id="worldmap-iframe"
|
|||
|
|
src="https://map.arenos.danielnagel.at"
|
|||
|
|
style="display: none; position: absolute; top: 0; left: 0; width: 100%; height: calc(100% - 130px); z-index: 8000; border: none;">
|
|||
|
|
</iframe>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<script src="master.js">
|
|||
|
|
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
let paused = false;
|
|||
|
|
document.addEventListener("keydown", (e) => {
|
|||
|
|
if (e.code === "Space") {
|
|||
|
|
paused = !paused;
|
|||
|
|
document.body.classList.toggle("paused", paused);
|
|||
|
|
localStorage.setItem("pauseActive", paused);
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// === Dynamische Standardmaps laden ===
|
|||
|
|
fetch('/list-maps')
|
|||
|
|
.then(res => res.json())
|
|||
|
|
.then(data => {
|
|||
|
|
const controlDiv = document.getElementById('battlemap-buttons');
|
|||
|
|
const container = document.createElement('div');
|
|||
|
|
container.style.marginTop = '5px';
|
|||
|
|
container.style.background = '#ccc';
|
|||
|
|
container.style.padding = '5px';
|
|||
|
|
|
|||
|
|
data.forEach(file => {
|
|||
|
|
const button = document.createElement('button');
|
|||
|
|
button.textContent = file;
|
|||
|
|
button.style.display = 'block';
|
|||
|
|
button.style.marginBottom = '5px';
|
|||
|
|
|
|||
|
|
button.addEventListener('click', () => {
|
|||
|
|
LoadImageMap(`standard_maps/${file}`);
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
container.appendChild(button);
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
controlDiv.appendChild(container);
|
|||
|
|
})
|
|||
|
|
.catch(err => console.error('Fehler beim Laden der Battlemap-Liste:', err));
|
|||
|
|
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
</body>
|
|||
|
|
</html>
|
|||
|
|
|
|||
|
|
|