Remove standalone building queue info

This commit is contained in:
Anton Vakhrushev 2020-05-27 09:57:33 +03:00
parent c1c832c21c
commit b33d84bd35
6 changed files with 1 additions and 27 deletions

View File

@ -43,12 +43,4 @@ export class ActionController {
throw new TryLaterError(aroundMinutes(1), 'Not same village'); throw new TryLaterError(aroundMinutes(1), 'Not same village');
} }
} }
ensureBuildingQueueIsEmpty() {
const storage = new VillageStorage(grabActiveVillageId());
const info = storage.getBuildingQueueInfo();
if (info.seconds > 0) {
throw new TryLaterError(info.seconds + 1, 'Building queue is full');
}
}
} }

View File

@ -10,7 +10,6 @@ export class BuildBuildingAction extends ActionController {
async run(args: Args, task: Task): Promise<any> { async run(args: Args, task: Task): Promise<any> {
try { try {
this.ensureSameVillage(args, task); this.ensureSameVillage(args, task);
this.ensureBuildingQueueIsEmpty();
const buildTypeId = args.buildTypeId || taskError('Undefined build type id'); const buildTypeId = args.buildTypeId || taskError('Undefined build type id');
clickBuildButton(buildTypeId); clickBuildButton(buildTypeId);
} catch (e) { } catch (e) {

View File

@ -10,7 +10,6 @@ export class UpgradeBuildingAction extends ActionController {
async run(args: Args, task: Task): Promise<any> { async run(args: Args, task: Task): Promise<any> {
try { try {
this.ensureSameVillage(args, task); this.ensureSameVillage(args, task);
this.ensureBuildingQueueIsEmpty();
clickUpgradeButton(); clickUpgradeButton();
} catch (e) { } catch (e) {
if (e instanceof GrabError) { if (e instanceof GrabError) {

View File

@ -13,7 +13,6 @@ export class VillageOverviewPageGrabber extends Grabber {
} }
this.storage.storeResourcesPerformance(grabResourcesPerformance()); this.storage.storeResourcesPerformance(grabResourcesPerformance());
this.storage.storeBuildingQueueInfo(this.grabBuildingQueueInfoOrDefault());
const buildingQueueInfo = this.grabBuildingQueueInfoOrDefault(); const buildingQueueInfo = this.grabBuildingQueueInfoOrDefault();
const buildingEndTime = buildingQueueInfo.seconds const buildingEndTime = buildingQueueInfo.seconds

View File

@ -1,17 +1,15 @@
import { DataStorage } from '../DataStorage'; import { DataStorage } from '../DataStorage';
import { BuildingQueueInfo } from '../Game';
import { Resources, ResourcesInterface } from '../Core/Resources'; import { Resources, ResourcesInterface } from '../Core/Resources';
import { ResourceStorage } from '../Core/ResourceStorage'; import { ResourceStorage } from '../Core/ResourceStorage';
import { IncomingMerchant, MerchantsInfo } from '../Core/Market'; import { IncomingMerchant, MerchantsInfo } from '../Core/Market';
import { VillageSettings, VillageSettingsDefaults } from '../Core/Village'; import { VillageSettings, VillageSettingsDefaults } from '../Core/Village';
import { ProductionQueue } from '../Core/ProductionQueue'; import { ProductionQueue } from '../Core/ProductionQueue';
import { getNumber } from '../utils'; import { getNumber } from '../utils';
import { Task, TaskList, uniqTaskId } from '../Queue/TaskProvider'; import { Task, uniqTaskId } from '../Queue/TaskProvider';
const RESOURCES_KEY = 'resources'; const RESOURCES_KEY = 'resources';
const CAPACITY_KEY = 'capacity'; const CAPACITY_KEY = 'capacity';
const PERFORMANCE_KEY = 'performance'; const PERFORMANCE_KEY = 'performance';
const BUILDING_QUEUE_INFO_KEY = 'building_queue_info';
const INCOMING_MERCHANTS_KEY = 'incoming_merchants'; const INCOMING_MERCHANTS_KEY = 'incoming_merchants';
const MERCHANTS_INFO_KEY = 'merchants_info'; const MERCHANTS_INFO_KEY = 'merchants_info';
const SETTINGS_KEY = 'settings'; const SETTINGS_KEY = 'settings';
@ -54,16 +52,6 @@ export class VillageStorage {
return this.storage.getTyped(PERFORMANCE_KEY, ResourceOptions); return this.storage.getTyped(PERFORMANCE_KEY, ResourceOptions);
} }
storeBuildingQueueInfo(info: BuildingQueueInfo): void {
this.storage.set(BUILDING_QUEUE_INFO_KEY, info);
}
getBuildingQueueInfo(): BuildingQueueInfo {
let plain = this.storage.get(BUILDING_QUEUE_INFO_KEY);
let res = new BuildingQueueInfo(0);
return Object.assign(res, plain) as BuildingQueueInfo;
}
storeMerchantsInfo(info: MerchantsInfo): void { storeMerchantsInfo(info: MerchantsInfo): void {
this.storage.set(MERCHANTS_INFO_KEY, info); this.storage.set(MERCHANTS_INFO_KEY, info);
} }

View File

@ -78,7 +78,6 @@ interface VillageOwnState {
*/ */
totalRequired: ResourceLineState; totalRequired: ResourceLineState;
incomingResources: Resources; incomingResources: Resources;
buildRemainingSeconds: number;
settings: VillageSettings; settings: VillageSettings;
queues: { [queue: string]: VillageProductionQueueState | undefined }; queues: { [queue: string]: VillageProductionQueueState | undefined };
} }
@ -196,7 +195,6 @@ function createVillageOwnState(
const resources = storage.getResources(); const resources = storage.getResources();
const resourceStorage = storage.getResourceStorage(); const resourceStorage = storage.getResourceStorage();
const performance = storage.getResourcesPerformance(); const performance = storage.getResourcesPerformance();
const buildQueueInfo = storage.getBuildingQueueInfo();
const requiredResources = taskCollection.getReadyTaskRequiredResources(); const requiredResources = taskCollection.getReadyTaskRequiredResources();
const frontierResources = taskCollection.getFrontierResources(); const frontierResources = taskCollection.getFrontierResources();
const totalRequiredResources = taskCollection.getAllTasksRequiredResources(); const totalRequiredResources = taskCollection.getAllTasksRequiredResources();
@ -210,7 +208,6 @@ function createVillageOwnState(
required: calcResourceBalance(requiredResources, resources, performance), required: calcResourceBalance(requiredResources, resources, performance),
frontierRequired: calcResourceBalance(frontierResources, resources, performance), frontierRequired: calcResourceBalance(frontierResources, resources, performance),
totalRequired: calcResourceBalance(totalRequiredResources, resources, performance), totalRequired: calcResourceBalance(totalRequiredResources, resources, performance),
buildRemainingSeconds: buildQueueInfo.seconds,
incomingResources: calcIncomingResources(storage), incomingResources: calcIncomingResources(storage),
settings: storage.getSettings(), settings: storage.getSettings(),
queues: createAllProductionQueueStates(storage, taskCollection), queues: createAllProductionQueueStates(storage, taskCollection),