Explorar el Código

Only enable/disable building buttons if needed

tags/v0.0.6
Fen Dweller hace 6 años
padre
commit
001cc37bd2
No se encontró ninguna clave conocida en la base de datos para esta firma ID de clave GPG: E80B35A6F11C3656
Se han modificado 1 ficheros con 17 adiciones y 2 borrados
  1. +17
    -2
      gorge.js

+ 17
- 2
gorge.js Ver fichero

@@ -248,6 +248,8 @@ function displayBuildings() {


for (const [key, value] of Object.entries(belongings)) { for (const [key, value] of Object.entries(belongings)) {


let available = states.buildings[key].available;

if (!belongings[key].visible) { if (!belongings[key].visible) {
if (resources.food * 10 >= costOfBuilding(key).food) { if (resources.food * 10 >= costOfBuilding(key).food) {
unlockBuilding(key); unlockBuilding(key);
@@ -270,12 +272,14 @@ function displayBuildings() {
name.innerText = value.count + " " + (value.count == 1 ? buildings[key].name : buildings[key].plural); name.innerText = value.count + " " + (value.count == 1 ? buildings[key].name : buildings[key].plural);
cost.innerText = render(buildingCost.food) + " food"; 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"); button.classList.remove("building-button-disabled");
cost.classList.add("building-button-cost-valid"); 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"); button.classList.add("building-button-disabled");
cost.classList.add("building-button-cost-invalid"); 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 // we can just check if they've been handled already


function initializeStates() { function initializeStates() {
const buildingStates = {};

Object.keys(buildings).forEach(key => {
buildingStates[key] = {
visible: undefined,
available: undefined
}
});

states.buildings = buildingStates;

const upgradeStates = {}; const upgradeStates = {};


Object.keys(upgrades).forEach(key => { Object.keys(upgrades).forEach(key => {


Cargando…
Cancelar
Guardar