First attempt to resource sending

This commit is contained in:
2020-04-24 10:45:05 +03:00
parent 542bc353b0
commit fb4ac6424c
25 changed files with 437 additions and 74 deletions

3
src/Grabber/Grabber.ts Normal file
View File

@ -0,0 +1,3 @@
export abstract class Grabber {
abstract grab(): void;
}

View File

@ -1,14 +1,14 @@
import { StateGrabber } from './StateGrabber';
import { ResourceGrabber } from './ResourceGrabber';
import { Grabber } from './Grabber';
import { VillageResourceGrabber } from './VillageResourceGrabber';
import { VillageOverviewPageGrabber } from './VillageOverviewPageGrabber';
import { HeroPageGrabber } from './HeroPageGrabber';
export class StateGrabberManager {
private readonly grabbers: Array<StateGrabber> = [];
export class GrabberManager {
private readonly grabbers: Array<Grabber> = [];
constructor() {
this.grabbers = [];
this.grabbers.push(new ResourceGrabber());
this.grabbers.push(new VillageResourceGrabber());
this.grabbers.push(new VillageOverviewPageGrabber());
this.grabbers.push(new HeroPageGrabber());
}

View File

@ -1,4 +1,4 @@
import { StateGrabber } from './StateGrabber';
import { Grabber } from './Grabber';
import {
grabActiveVillageId,
grabBuildingQueueInfo,
@ -12,7 +12,7 @@ import { BuildingQueueInfo } from '../Game';
import { HeroState } from '../State/HeroState';
import { grabHeroAttributes, grabHeroVillage } from '../Page/HeroPage';
export class HeroPageGrabber extends StateGrabber {
export class HeroPageGrabber extends Grabber {
grab(): void {
const p = parseLocation();
if (p.pathname !== '/hero.php') {

View File

@ -1,13 +0,0 @@
import { StateGrabber } from './StateGrabber';
import { grabActiveVillageId } from '../Page/VillageBlock';
import { grabResources, grabResourceStorage } from '../Page/ResourcesBlock';
import { VillageState } from '../State/VillageState';
export class ResourceGrabber extends StateGrabber {
grab(): void {
const villageId = grabActiveVillageId();
const state = new VillageState(villageId);
state.storeResources(grabResources());
state.storeResourceStorage(grabResourceStorage());
}
}

View File

@ -1,3 +0,0 @@
export abstract class StateGrabber {
abstract grab(): void;
}

View File

@ -1,11 +1,11 @@
import { StateGrabber } from './StateGrabber';
import { Grabber } from './Grabber';
import { grabActiveVillageId, grabBuildingQueueInfo, grabResourcesPerformance } from '../Page/VillageBlock';
import { VillageState } from '../State/VillageState';
import { parseLocation } from '../utils';
import { GrabError } from '../Errors';
import { BuildingQueueInfo } from '../Game';
export class VillageOverviewPageGrabber extends StateGrabber {
export class VillageOverviewPageGrabber extends Grabber {
grab(): void {
const p = parseLocation();
if (p.pathname !== '/dorf1.php') {

View File

@ -0,0 +1,13 @@
import { Grabber } from './Grabber';
import { grabActiveVillageId } from '../Page/VillageBlock';
import { grabVillageResources, grabVillageResourceStorage } from '../Page/ResourcesBlock';
import { VillageState } from '../State/VillageState';
export class VillageResourceGrabber extends Grabber {
grab(): void {
const villageId = grabActiveVillageId();
const state = new VillageState(villageId);
state.storeResources(grabVillageResources());
state.storeResourceStorage(grabVillageResourceStorage());
}
}