From c14ce042d88e2aed28f591a3966493d464dcc749 Mon Sep 17 00:00:00 2001 From: Anton Vakhrushev Date: Tue, 26 May 2020 22:20:01 +0300 Subject: [PATCH] Remove shipment information --- src/ControlPanel.ts | 10 -------- src/DashboardView/VillageStateList.vue | 32 +------------------------- src/Scheduler.ts | 24 ------------------- src/VillageState.ts | 22 ++++-------------- src/VillageTaskCollection.ts | 16 +++++++++++-- 5 files changed, 19 insertions(+), 85 deletions(-) diff --git a/src/ControlPanel.ts b/src/ControlPanel.ts index 7efdedd..a408f26 100644 --- a/src/ControlPanel.ts +++ b/src/ControlPanel.ts @@ -45,8 +45,6 @@ interface GameState { removeTask(taskId: string): void; refreshVillages(): void; pause(): void; - scheduleResourceTransferTasks(fromVillageId: number, toVillageId: number): void; - dropResourceTransferTasks(fromVillageId: number, toVillageId: number): void; } export class ControlPanel { @@ -110,14 +108,6 @@ export class ControlPanel { pause() { executionState.setExecutionSettings({ pauseTs: timestamp() + 120 }); }, - - scheduleResourceTransferTasks(fromVillageId: number, toVillageId: number): void { - scheduler.scheduleResourceTransferTasks(fromVillageId, toVillageId); - }, - - dropResourceTransferTasks(fromVillageId: number, toVillageId: number): void { - scheduler.dropResourceTransferTasks(fromVillageId, toVillageId); - }, }; state.refresh(); diff --git a/src/DashboardView/VillageStateList.vue b/src/DashboardView/VillageStateList.vue index 6e0e0ad..95b72de 100644 --- a/src/DashboardView/VillageStateList.vue +++ b/src/DashboardView/VillageStateList.vue @@ -132,13 +132,6 @@ :time1="renderGatheringTime(villageState.totalRequired.time)" /> - - $->{{ s.village.name }} Казармы @@ -261,20 +245,6 @@ export default { } return secondsToTime(value.seconds); }, - goToMarket(fromVillage, toVillage) { - window.location.assign(this.marketPath(fromVillage, toVillage)); - }, - setupResourceTransfer(villageState, toVillageState) { - villageState.shipment.includes(toVillageState.id) - ? this.dropResourceTransferTasks(villageState.id, toVillageState.id) - : this.scheduleResourceTransferTasks(villageState.id, toVillageState.id); - }, - scheduleResourceTransferTasks(fromVillageId, toVillageId) { - this.shared.scheduleResourceTransferTasks(fromVillageId, toVillageId); - }, - dropResourceTransferTasks(fromVillageId, toVillageId) { - this.shared.dropResourceTransferTasks(fromVillageId, toVillageId); - }, openEditor(villageId) { this.$store.dispatch(Actions.OpenVillageEditor, { villageId }); }, diff --git a/src/Scheduler.ts b/src/Scheduler.ts index 7958788..d373913 100644 --- a/src/Scheduler.ts +++ b/src/Scheduler.ts @@ -175,28 +175,4 @@ export class Scheduler { clearActions() { this.actionQueue.clear(); } - - dropResourceTransferTasks(fromVillageId: number, toVillageId: number): void { - this.taskQueue.remove( - t => - t.name === SendResourcesTask.name && - t.args.villageId === fromVillageId && - t.args.targetVillageId === toVillageId - ); - } - - scheduleResourceTransferTasks(fromVillageId: number, toVillageId: number): void { - this.dropResourceTransferTasks(fromVillageId, toVillageId); - const village = this.villageRepository.all().find(v => v.id === toVillageId); - if (!village) { - throw new VillageNotFound(`Village ${toVillageId} not found`); - } - this.scheduleTask(SendResourcesTask.name, { - villageId: fromVillageId, - targetVillageId: toVillageId, - coordinates: village.crd, - buildTypeId: MARKET_ID, - tabId: 5, - }); - } } diff --git a/src/VillageState.ts b/src/VillageState.ts index f84e073..d205736 100644 --- a/src/VillageState.ts +++ b/src/VillageState.ts @@ -88,10 +88,6 @@ export interface VillageState extends VillageOwnState { * Resource commitments of this village to other (may be negative) */ commitments: Resources; - /** - * List of village id, from which resources ship to this village - */ - shipment: Array; } function calcResourceBalance(resources: Resources, current: Resources, performance: Resources): ResourceLineState { @@ -163,16 +159,6 @@ function createAllProductionQueueStates(storage: VillageStorage, taskCollection: return result; } -function calcFrontierResources(taskCollection: VillageTaskCollection): Resources { - let result = Resources.zero(); - for (let queue of OrderedProductionQueues) { - const tasks = taskCollection.getTasksInProductionQueue(queue); - const firstTaskResources = tasks.slice(0, 1).reduce(taskResourceReducer, Resources.zero()); - result = result.add(firstTaskResources); - } - return result; -} - function createVillageOwnState( village: Village, storage: VillageStorage, @@ -182,9 +168,9 @@ function createVillageOwnState( const resourceStorage = storage.getResourceStorage(); const performance = storage.getResourcesPerformance(); const buildQueueInfo = storage.getBuildingQueueInfo(); - const requiredResources = taskCollection.getVillageRequiredResources(); - const frontierResources = calcFrontierResources(taskCollection); - const totalRequiredResources = taskCollection.getTotalVillageRequiredResources(); + const requiredResources = taskCollection.getReadyTaskRequiredResources(); + const frontierResources = taskCollection.getFrontierResources(); + const totalRequiredResources = taskCollection.getAllTasksRequiredResources(); return { id: village.id, @@ -227,7 +213,7 @@ function createVillageState(state: VillageOwnState, ownStates: VillageOwnStateDi const targetVillageMissing = shipmentVillageRequired.balance.add(shipmentVillageIncoming).min(Resources.zero()); return memo.add(targetVillageMissing); }, Resources.zero()); - return { ...state, commitments, shipment: villageIds }; + return { ...state, commitments }; } function getVillageStates( diff --git a/src/VillageTaskCollection.ts b/src/VillageTaskCollection.ts index 3ec4c17..e760620 100644 --- a/src/VillageTaskCollection.ts +++ b/src/VillageTaskCollection.ts @@ -105,7 +105,7 @@ export class VillageTaskCollection { } } - getVillageRequiredResources(): Resources { + getReadyTaskRequiredResources(): Resources { const first = this.getReadyForProductionTask(); if (first && first.args.resources) { return Resources.fromObject(first.args.resources); @@ -113,7 +113,19 @@ export class VillageTaskCollection { return Resources.zero(); } - getTotalVillageRequiredResources(): Resources { + getFrontierResources(): Resources { + let result = Resources.zero(); + const groups = this.getQueueGroupedTasks(); + for (let group of groups) { + const firstTask = _.first(group.tasks); + if (firstTask && firstTask.args.resources) { + result = result.add(Resources.fromObject(firstTask.args.resources)); + } + } + return result; + } + + getAllTasksRequiredResources(): Resources { const tasks = this.storage.getTasks().filter(t => t.args.resources); return tasks.reduce((acc, t) => acc.add(t.args.resources!), Resources.zero()); }