Add building queue time grabber

This commit is contained in:
2020-04-18 13:16:01 +03:00
parent 8001510f0a
commit db16c54137
8 changed files with 54 additions and 19 deletions

View File

@ -2,22 +2,19 @@ import { ActionController, registerAction } from './ActionController';
import { Args } from '../Common';
import { Task } from '../Storage/TaskQueue';
import { BuildingQueueFullError } from '../Errors';
import { grabActiveVillageId } from '../Page/VillageBlock';
import { grabActiveVillageId, grabBuildingQueueInfo } from '../Page/VillageBlock';
@registerAction
export class CheckBuildingRemainingTimeAction extends ActionController {
async run(args: Args, task: Task): Promise<any> {
const timer = jQuery('.buildDuration .timer');
if (timer.length === 1) {
const remainingSeconds = Number(timer.attr('value'));
if (remainingSeconds > 0) {
throw new BuildingQueueFullError(
task.id,
grabActiveVillageId(),
remainingSeconds + 1,
'Building queue is full'
);
}
const info = grabBuildingQueueInfo();
if (info.seconds > 0) {
throw new BuildingQueueFullError(
task.id,
grabActiveVillageId(),
info.seconds + 1,
'Building queue is full'
);
}
}
}