Add quick actions and mass resources to level upgrade

This commit is contained in:
2020-04-12 16:41:23 +03:00
parent 9d37697b13
commit ed66b0a308
14 changed files with 250 additions and 36 deletions

View File

@ -59,7 +59,7 @@ export class BuildPage {
});
}
private onTrainTroopClick(buildId: Number, troopId: Number, el: HTMLElement) {
private onTrainTroopClick(buildId: number, troopId: number, el: HTMLElement) {
console.log('TRAIN TROOPERS', 'TROOP ID', troopId, 'BUILDING ID', buildId);
const villageId = grabActiveVillageId();
const input = jQuery(el).find(`input[name="t${troopId}"]`);

View File

@ -1,4 +1,5 @@
import { elClassId, getNumber } from '../utils';
import { numberToResourceType, ResourceDeposit } from '../Game';
interface Slot {
el: HTMLElement;
@ -14,7 +15,7 @@ function slotElements(prefix: string): Array<Slot> {
return result;
}
function showSlotIds(prefix: string, buildingIds: number[]): void {
function showSlotIds(prefix: string, buildingIds: Array<number>): void {
const slots = slotElements(prefix);
slots.forEach(slot => {
const oldLabel = jQuery(slot.el)
@ -54,3 +55,17 @@ export function onResourceSlotCtrlClick(cb: (buildId: number) => void): void {
});
});
}
function slotToDepositMapper(slot: Slot): ResourceDeposit {
const el = slot.el;
const classes = jQuery(el).attr('class') || '';
const buildId = getNumber(elClassId(classes, 'buildingSlot'));
const level = getNumber(elClassId(classes, 'level'));
const type = getNumber(elClassId(classes, 'gid'));
const ready = !jQuery(el).hasClass('notNow');
return new ResourceDeposit(buildId, numberToResourceType(type), level, ready);
}
export function grabResourceDeposits(): Array<ResourceDeposit> {
return slotElements('buildingSlot').map(slotToDepositMapper);
}