Add scales to resource sending

This commit is contained in:
Anton Vakhrushev 2020-04-25 21:58:17 +03:00
parent 2137e7e684
commit 0ab919b4e1
2 changed files with 26 additions and 10 deletions

View File

@ -105,10 +105,22 @@ export function createTrainTroopButtons(
}); });
} }
export function createSendResourcesButton(onClickHandler: (resources: Resources, crd: Coordinates) => void) { export function createSendResourcesButton(
const id = uniqId(); onClickHandler: (resources: Resources, crd: Coordinates, scale: number) => void
jQuery('#button').before(`<div style="padding: 8px"><a id="${id}" href="#">Отправить</a></div>`); ) {
jQuery(`#${id}`).on('click', evt => { const id1 = uniqId();
const id10 = uniqId();
const id100 = uniqId();
const id1000 = uniqId();
jQuery('#button').before(`<div style="padding: 8px">
<a id="${id1}" href="#">Отправить</a> /
<a id="${id10}" href="#">x10</a> /
<a id="${id100}" href="#">x100</a> /
<a id="${id1000}" href="#">x1000</a>
</div>`);
const createHandler = (handler, scale) => evt => {
evt.preventDefault(); evt.preventDefault();
const sendSelect = jQuery('#send_select'); const sendSelect = jQuery('#send_select');
const resources = new Resources( const resources = new Resources(
@ -118,8 +130,13 @@ export function createSendResourcesButton(onClickHandler: (resources: Resources,
getNumber(sendSelect.find('#r4').val()) getNumber(sendSelect.find('#r4').val())
); );
const crd = new Coordinates(getNumber(jQuery('#xCoordInput').val()), getNumber(jQuery('#yCoordInput').val())); const crd = new Coordinates(getNumber(jQuery('#xCoordInput').val()), getNumber(jQuery('#yCoordInput').val()));
onClickHandler(resources, crd); onClickHandler(resources, crd, scale);
}); };
jQuery(`#${id1}`).on('click', createHandler(onClickHandler, 1));
jQuery(`#${id10}`).on('click', createHandler(onClickHandler, 10));
jQuery(`#${id100}`).on('click', createHandler(onClickHandler, 100));
jQuery(`#${id1000}`).on('click', createHandler(onClickHandler, 1000));
} }
export function grabMerchantsInfo() { export function grabMerchantsInfo() {

View File

@ -52,8 +52,7 @@ export class BuildingPageController {
} }
if (isMarketSendResourcesPage()) { if (isMarketSendResourcesPage()) {
console.log('MERCH', grabIncomingMerchants()); createSendResourcesButton((res, crd, scale) => this.onSendResources(res, crd, scale));
createSendResourcesButton((res, crd) => this.onSendResources(res, crd));
} }
} }
@ -89,14 +88,14 @@ export class BuildingPageController {
notify(`Training ${count} troopers scheduled`); notify(`Training ${count} troopers scheduled`);
} }
private onSendResources(resources: Resources, coordinates: Coordinates) { private onSendResources(resources: Resources, coordinates: Coordinates, scale: number) {
const villageId = grabActiveVillageId(); const villageId = grabActiveVillageId();
this.scheduler.scheduleTask(SendResourcesTask.name, { this.scheduler.scheduleTask(SendResourcesTask.name, {
villageId: villageId, villageId: villageId,
buildTypeId: this.attributes.buildTypeId, buildTypeId: this.attributes.buildTypeId,
buildId: this.attributes.buildId, buildId: this.attributes.buildId,
tabId: this.attributes.tabId, tabId: this.attributes.tabId,
resources, resources: resources.scale(scale),
coordinates, coordinates,
}); });
notify(`Send resources ${JSON.stringify(resources)} from ${villageId} to ${JSON.stringify(coordinates)}`); notify(`Send resources ${JSON.stringify(resources)} from ${villageId} to ${JSON.stringify(coordinates)}`);