Procházet zdrojové kódy

Upgrades can now be bought (with no effect)

tags/v0.0.1
Fen Dweller před 7 roky
rodič
revize
b73d35b938
V databázi nebyl nalezen žádný známý klíč pro tento podpis ID GPG klíče: E80B35A6F11C3656
1 změnil soubory, kde provedl 44 přidání a 10 odebrání
  1. +44
    -10
      gorge.js

+ 44
- 10
gorge.js Zobrazit soubor

@@ -2,7 +2,7 @@

let belongings = {};

let ownedUpgrades = [];
let ownedUpgrades = {};

let resources = {
"food": 0
@@ -71,19 +71,32 @@ function displayBuildings() {
}
}

function canAfford(cost) {
console.log(cost)
for (const [resource, amount] of Object.entries(cost)) {
if (resources[resource] < amount) {
return false;
}
}

return true;
}

function spend(cost) {
for (const [resource, amount] of Object.entries(cost)) {
resources[resource] -= amount;
}
}

function displayUpgrades() {
for (const [key, value] of Object.entries(upgrades)) {
let button = document.querySelector("#upgrade-" + key);

let valid = true;
for (const [resource, amount] of Object.entries(upgrades[key].cost)) {
if (resources[resource] < amount) {
valid = false;
break;
}
if (ownedUpgrades[key]) {
button.style.display = "none";
return;
}

if (valid) {
if (canAfford(upgrades[key].cost)) {
button.classList.remove("upgrade-button-inactive");
} else {
button.classList.add("upgrade-button-inactive");
@@ -91,6 +104,22 @@ function displayUpgrades() {
}
}

function buyUpgrade(id) {
if (ownedUpgrades[id]) {
return;
}

let upgrade = upgrades[id];

if (!canAfford(upgrade.cost)) {
return;
}

spend(upgrade.cost);

ownedUpgrades[id] = true;
}

function eatMicro() {
resources.food += 1;
}
@@ -110,6 +139,10 @@ function initializeData() {
belongings[key] = {};
belongings[key].count = 0;
}

for (const [key, value] of Object.entries(upgrades)) {
ownedUpgrades[key] = false;
}
}

function registerListeners() {
@@ -198,8 +231,9 @@ function createUpgrades() {
buttonName.innerText = value.name;
button.appendChild(buttonName);

button.addEventListener("mousemove", function(e) { upgradeTooltip(key, event); });
button.addEventListener("mousemove", function(e) { upgradeTooltip(key, e); });
button.addEventListener("mouseleave", function() { upgradeTooltipRemove(); });
button.addEventListener("click", function() { buyUpgrade(key); });

container.appendChild(button);
}


Načítá se…
Zrušit
Uložit