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());
}