Change task id generation

Id must be generated sequentially
This commit is contained in:
2020-04-18 21:47:05 +03:00
parent 3614624aa0
commit a6cc1b5383
8 changed files with 55 additions and 22 deletions

View File

@ -1,7 +1,7 @@
import { ActionController, registerAction } from './ActionController';
import { Args } from '../Common';
import { Task } from '../Storage/TaskQueue';
import { BuildingQueueFullError, GrabError } from '../Errors';
import { PostponeAllBuildingsError, GrabError } from '../Errors';
import { grabActiveVillageId, grabBuildingQueueInfo } from '../Page/VillageBlock';
import { BuildingQueueInfo } from '../Game';
@ -10,7 +10,7 @@ export class CheckBuildingRemainingTimeAction extends ActionController {
async run(args: Args, task: Task): Promise<any> {
const info = this.grabBuildingQueueInfoOrDefault();
if (info.seconds > 0) {
throw new BuildingQueueFullError(
throw new PostponeAllBuildingsError(
task.id,
grabActiveVillageId(),
info.seconds + 1,

View File

@ -1,17 +1,22 @@
import { ActionController, registerAction } from './ActionController';
import { Args } from '../Common';
import { GrabError, TryLaterError } from '../Errors';
import { ActionError, GrabError, PostponeAllBuildingsError } from '../Errors';
import { Task } from '../Storage/TaskQueue';
import { clickUpgradeButton } from '../Page/BuildingPage';
@registerAction
export class UpgradeBuildingAction extends ActionController {
async run(args: Args, task: Task): Promise<any> {
let villageId = args.villageId;
if (villageId === undefined) {
throw new ActionError(task.id, 'No village id');
}
try {
clickUpgradeButton();
} catch (e) {
if (e instanceof GrabError) {
throw new TryLaterError(task.id, 15 * 60, 'No upgrade button, try later');
throw new PostponeAllBuildingsError(task.id, villageId, 15 * 60, 'No upgrade button, try later');
}
throw e;
}