diff --git a/game.js b/game.js index 605eed8..b8c1b4e 100644 --- a/game.js +++ b/game.js @@ -17,53 +17,13 @@ function initGame(story, state) { state.timers = []; } -function initGamePostSetup(state) { - const world_holder = document.querySelector("#world-info"); - - world_holder.innerHTML = ""; - - Object.entries(state.info).forEach(([key, val]) => { +function createStatDisplays(stats, statType) { + const holder = document.querySelector("#" + statType + "-info") + Object.entries(stats).forEach(([key, val]) => { if (val.type == "meter") { const field = document.createElement("div"); - field.id = "world-info-" + key; - field.setAttribute("max", val.max); - field.setAttribute("value", val.value); - field.classList.add("stat-bar-holder"); - - const label = document.createElement("div"); - label.classList.add("stat-bar-label"); - label.textContent = val.name; - - const bar = document.createElement("div"); - bar.classList.add("stat-bar"); - bar.style["background-color"] = val.color; - - field.appendChild(label); - field.appendChild(bar); - - world_holder.appendChild(field); - } else if (val.type == "counter") { - const field = document.createElement("div"); - field.id = "world-info-" + key; - field.setAttribute("max", val.max); - field.setAttribute("value", val.value); - - world_holder.appendChild(field); - } - - }); - - const holder = document.querySelector("#player-info"); - - holder.innerHTML = ""; - - - Object.entries(state.player.stats).forEach(([key, val]) => { - - if (val.type == "meter") { - const field = document.createElement("div"); - field.id = "player-info-" + key; + field.id = statType + "-info-" + key; field.setAttribute("max", val.max); field.setAttribute("value", val.value); field.classList.add("stat-bar-holder"); @@ -82,15 +42,16 @@ function initGamePostSetup(state) { holder.appendChild(field); } else if (val.type == "counter") { const field = document.createElement("div"); - field.id = "player-info-" + key; - field.setAttribute("max", val.max); - field.setAttribute("value", val.value); + field.id = statType + "-info-" + key; holder.appendChild(field); } - }); } +function initGamePostSetup(state) { + createStatDisplays(state.info, "world"); + createStatDisplays(state.player.stats, "player"); +} function changeStat(stat, amount, state) { let value = state.player.stats[stat].value; diff --git a/satiate.html b/satiate.html index f7c3606..937c836 100644 --- a/satiate.html +++ b/satiate.html @@ -57,6 +57,9 @@