50 lines
1.2 KiB
JavaScript
50 lines
1.2 KiB
JavaScript
/* ================================
|
||
HUD – Charakter & Währungsanzeige
|
||
================================ */
|
||
|
||
async function fetchHud() {
|
||
const res = await fetch("/api/hud");
|
||
if (!res.ok) throw new Error("HUD API Fehler");
|
||
return await res.json();
|
||
}
|
||
|
||
function applyHudData(data) {
|
||
const set = (id, val) => {
|
||
const el = document.getElementById(id);
|
||
if (el) el.textContent = formatNumber(val);
|
||
};
|
||
|
||
const nameEl = document.getElementById("hud-name");
|
||
if (nameEl) nameEl.textContent = data.name;
|
||
|
||
set("hud-silver", data.silver);
|
||
set("hud-gold", data.gold);
|
||
set("hud-gems", data.gems);
|
||
set("hud-wood", data.wood);
|
||
set("hud-stone", data.stone);
|
||
}
|
||
|
||
export async function loadHud() {
|
||
try {
|
||
const data = await fetchHud();
|
||
applyHudData(data);
|
||
} catch (err) {
|
||
console.error("HUD Fehler:", err);
|
||
}
|
||
}
|
||
|
||
// Wird von mine.js nach dem Abholen aufgerufen
|
||
export async function refreshHud() {
|
||
try {
|
||
const data = await fetchHud();
|
||
applyHudData(data);
|
||
} catch (err) {
|
||
console.error("HUD Refresh Fehler:", err);
|
||
}
|
||
}
|
||
|
||
function formatNumber(n) {
|
||
if (n === undefined || n === null) return "0";
|
||
return Number(n).toLocaleString("de-DE");
|
||
}
|