Add fast resource transfer management
This commit is contained in:
@ -5,23 +5,17 @@ import { IncomingMerchant } from '../../Core/Market';
|
||||
import { grabResourcesFromList } from './BuildingPage';
|
||||
|
||||
interface SendResourcesClickHandler {
|
||||
(resources: Resources, crd: Coordinates, scale: number): void;
|
||||
(resources: Resources, crd: Coordinates): void;
|
||||
}
|
||||
|
||||
export function createSendResourcesButton(onClickHandler: SendResourcesClickHandler) {
|
||||
const id1 = uniqId();
|
||||
const id10 = uniqId();
|
||||
const id100 = uniqId();
|
||||
const id1000 = uniqId();
|
||||
const id = 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>
|
||||
<a id="${id}" href="#">Отправить</a> /
|
||||
</div>`);
|
||||
|
||||
const createHandler = (handler: SendResourcesClickHandler, scale: number) => (evt: JQuery.Event) => {
|
||||
const createHandler = () => (evt: JQuery.Event) => {
|
||||
evt.preventDefault();
|
||||
const sendSelect = jQuery('#send_select');
|
||||
const resources = new Resources(
|
||||
@ -31,13 +25,10 @@ export function createSendResourcesButton(onClickHandler: SendResourcesClickHand
|
||||
getNumber(sendSelect.find('#r4').val())
|
||||
);
|
||||
const crd = new Coordinates(getNumber(jQuery('#xCoordInput').val()), getNumber(jQuery('#yCoordInput').val()));
|
||||
onClickHandler(resources, crd, scale);
|
||||
onClickHandler(resources, crd);
|
||||
};
|
||||
|
||||
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));
|
||||
jQuery(`#${id}`).on('click', createHandler());
|
||||
}
|
||||
|
||||
export function grabMerchantsInfo() {
|
||||
|
@ -56,7 +56,7 @@ export class BuildingPageController {
|
||||
}
|
||||
|
||||
if (isMarketSendResourcesPage()) {
|
||||
createSendResourcesButton((res, crd, scale) => this.onSendResources(res, crd, scale));
|
||||
createSendResourcesButton((res, crd) => this.onSendResources(res, crd));
|
||||
}
|
||||
|
||||
if (isForgePage()) {
|
||||
@ -99,7 +99,7 @@ export class BuildingPageController {
|
||||
notify(`Training ${count} troopers scheduled`);
|
||||
}
|
||||
|
||||
private onSendResources(resources: Resources, coordinates: Coordinates, scale: number) {
|
||||
private onSendResources(resources: Resources, coordinates: Coordinates) {
|
||||
const villageId = grabActiveVillageId();
|
||||
const targetVillage = grabVillageList().find(v => v.crd.eq(coordinates));
|
||||
this.scheduler.scheduleTask(SendResourcesTask.name, {
|
||||
@ -108,10 +108,9 @@ export class BuildingPageController {
|
||||
buildTypeId: this.attributes.buildTypeId,
|
||||
buildId: this.attributes.buildId,
|
||||
tabId: this.attributes.tabId,
|
||||
resources: resources.scale(scale),
|
||||
coordinates,
|
||||
});
|
||||
notify(`Send resources ${JSON.stringify(resources)} from ${villageId} to ${JSON.stringify(coordinates)}`);
|
||||
notify(`Send resources from ${villageId} to ${JSON.stringify(coordinates)}`);
|
||||
}
|
||||
|
||||
private onResearch(resources: Resources, unitId: number) {
|
||||
|
Reference in New Issue
Block a user