diff --git a/src/Action/BalanceHeroResourcesAction.ts b/src/Action/BalanceHeroResourcesAction.ts index 5bcecf2..2bee044 100644 --- a/src/Action/BalanceHeroResourcesAction.ts +++ b/src/Action/BalanceHeroResourcesAction.ts @@ -46,21 +46,11 @@ export class BalanceHeroResourcesAction extends ActionController { console.log('REQUIRED', requiredResources); if (requiredResources) { - return new Resources( - requiredResources.lumber - resources.lumber, - requiredResources.clay - resources.clay, - requiredResources.iron - resources.iron, - requiredResources.crop - resources.crop - ); + return requiredResources.sub(resources); } const storage = grabResourceStorage(); - return new Resources( - storage.warehouse - resources.lumber, - storage.warehouse - resources.clay, - storage.warehouse - resources.iron, - storage.granary - resources.crop - ); + return Resources.fromStorage(storage).sub(resources); } } diff --git a/src/ControlPanel.ts b/src/ControlPanel.ts index 2bae61d..3d0125c 100644 --- a/src/ControlPanel.ts +++ b/src/ControlPanel.ts @@ -14,7 +14,6 @@ import DashboardApp from './DashboardView/Dashboard.vue'; import { ResourcesToLevel } from './Task/ResourcesToLevel'; import { ConsoleLogger, Logger } from './Logger'; import { VillageState } from './State/VillageState'; -import { StateGrabberManager } from './Grabber/StateGrabberManager'; interface QuickAction { label: string; @@ -24,13 +23,11 @@ interface QuickAction { export class ControlPanel { private readonly version: string; private readonly scheduler: Scheduler; - private grabbers: StateGrabberManager; private readonly logger: Logger; constructor(version: string, scheduler: Scheduler) { this.version = version; this.scheduler = scheduler; - this.grabbers = new StateGrabberManager(); this.logger = new ConsoleLogger(this.constructor.name); } @@ -42,9 +39,6 @@ export class ControlPanel { const villageId = grabActiveVillageId(); - this.grabbers.grab(); - setInterval(() => this.grabbers.grab(), 2000); - const scheduler = this.scheduler; const quickActions: QuickAction[] = []; @@ -75,6 +69,7 @@ export class ControlPanel { const performance = state.getResourcesPerformance(); const buildQueueInfo = state.getBuildingQueueInfo(); const requiredResources = scheduler.getVillageRequiredResources(village.id); + const totalRequiredResources = scheduler.getTotalVillageRequiredResources(village.id); return { id: village.id, name: village.name, @@ -92,6 +87,10 @@ export class ControlPanel { clay_need: requiredResources && requiredResources.clay, iron_need: requiredResources && requiredResources.iron, crop_need: requiredResources && requiredResources.crop, + lumber_total_need: totalRequiredResources.lumber, + clay_total_need: totalRequiredResources.clay, + iron_total_need: totalRequiredResources.iron, + crop_total_need: totalRequiredResources.crop, warehouse: storage.warehouse, granary: storage.granary, buildRemainingSeconds: buildQueueInfo.seconds, diff --git a/src/DashboardView/VillageStateList.vue b/src/DashboardView/VillageStateList.vue index e44d0d5..876b0ff 100644 --- a/src/DashboardView/VillageStateList.vue +++ b/src/DashboardView/VillageStateList.vue @@ -67,6 +67,23 @@