From 822c4dc0abe6bce2a0cc9d73ae22ad04725e9e86 Mon Sep 17 00:00:00 2001 From: Anton Vakhrushev Date: Mon, 27 Apr 2020 11:36:01 +0300 Subject: [PATCH] Fix resources to level task --- src/Action/UpgradeResourceToLevel.ts | 2 +- src/Game.ts | 9 ++------- src/Page/SlotBlock.ts | 12 +++++++----- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/Action/UpgradeResourceToLevel.ts b/src/Action/UpgradeResourceToLevel.ts index 4c6ff1b..8fd5486 100644 --- a/src/Action/UpgradeResourceToLevel.ts +++ b/src/Action/UpgradeResourceToLevel.ts @@ -22,7 +22,7 @@ export class UpgradeResourceToLevel extends ActionController { const requiredLevel = getNumber(args.level); - const notUpgraded = deposits.filter(dep => requiredLevel > dep.level); + const notUpgraded = deposits.filter(dep => !dep.underConstruction && requiredLevel > dep.level); if (notUpgraded.length === 0) { this.scheduler.removeTask(task.id); diff --git a/src/Game.ts b/src/Game.ts index 9756400..8e0bf76 100644 --- a/src/Game.ts +++ b/src/Game.ts @@ -7,15 +7,10 @@ export class BuildingQueueInfo { } } -export class ResourceDeposit { +export interface ResourceDeposit { readonly buildId: number; readonly type: ResourceType; readonly level: number; readonly ready: boolean; - constructor(buildId: number, type: ResourceType, level: number, ready: boolean) { - this.buildId = buildId; - this.type = type; - this.level = level; - this.ready = ready; - } + readonly underConstruction: boolean; } diff --git a/src/Page/SlotBlock.ts b/src/Page/SlotBlock.ts index 53efb2b..5ca40db 100644 --- a/src/Page/SlotBlock.ts +++ b/src/Page/SlotBlock.ts @@ -60,11 +60,13 @@ export function onResourceSlotCtrlClick(cb: (buildId: number) => void): void { function slotToDepositMapper(slot: Slot): ResourceDeposit { const el = slot.el; const classes = jQuery(el).attr('class'); - const buildId = getNumber(elClassId(classes, 'buildingSlot')); - const level = getNumber(elClassId(classes, 'level')); - const type = getNumber(elClassId(classes, 'gid')); - const ready = !jQuery(el).hasClass('notNow'); - return new ResourceDeposit(buildId, numberToResourceType(type), level, ready); + return { + buildId: getNumber(elClassId(classes, 'buildingSlot')), + type: numberToResourceType(getNumber(elClassId(classes, 'gid'))), + level: getNumber(elClassId(classes, 'level')), + ready: !jQuery(el).hasClass('notNow'), + underConstruction: jQuery(el).hasClass('underConstruction'), + }; } export function grabResourceDeposits(): Array {