|
|
|
@@ -248,6 +248,8 @@ function displayBuildings() { |
|
|
|
|
|
|
|
for (const [key, value] of Object.entries(belongings)) { |
|
|
|
|
|
|
|
let available = states.buildings[key].available; |
|
|
|
|
|
|
|
if (!belongings[key].visible) { |
|
|
|
if (resources.food * 10 >= costOfBuilding(key).food) { |
|
|
|
unlockBuilding(key); |
|
|
|
@@ -270,12 +272,14 @@ function displayBuildings() { |
|
|
|
name.innerText = value.count + " " + (value.count == 1 ? buildings[key].name : buildings[key].plural); |
|
|
|
cost.innerText = render(buildingCost.food) + " food"; |
|
|
|
|
|
|
|
if (canAfford(buildingCost) && button.classList.contains("building-button-disabled")) { |
|
|
|
if (canAfford(buildingCost) && available !== true) { |
|
|
|
button.classList.remove("building-button-disabled"); |
|
|
|
cost.classList.add("building-button-cost-valid"); |
|
|
|
} else if (!canAfford(buildingCost) && !button.classList.contains("building-button-disabled")) { |
|
|
|
states.buildings[key].available = true; |
|
|
|
} else if (!canAfford(buildingCost) && available !== false) { |
|
|
|
button.classList.add("building-button-disabled"); |
|
|
|
cost.classList.add("building-button-cost-invalid"); |
|
|
|
states.buildings[key].available = false; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@@ -472,6 +476,17 @@ const states = {}; |
|
|
|
// we can just check if they've been handled already |
|
|
|
|
|
|
|
function initializeStates() { |
|
|
|
const buildingStates = {}; |
|
|
|
|
|
|
|
Object.keys(buildings).forEach(key => { |
|
|
|
buildingStates[key] = { |
|
|
|
visible: undefined, |
|
|
|
available: undefined |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
states.buildings = buildingStates; |
|
|
|
|
|
|
|
const upgradeStates = {}; |
|
|
|
|
|
|
|
Object.keys(upgrades).forEach(key => { |
|
|
|
|