Add resource performance values
This commit is contained in:
17
src/State/ResourcePerformanceGrabber.ts
Normal file
17
src/State/ResourcePerformanceGrabber.ts
Normal file
@ -0,0 +1,17 @@
|
||||
import * as URLParse from 'url-parse';
|
||||
import { StateGrabber } from './StateGrabber';
|
||||
import { grabActiveVillageId, grabResourcesPerformance } from '../Page/VillageBlock';
|
||||
import { VillageState } from './VillageState';
|
||||
|
||||
export class ResourcePerformanceGrabber extends StateGrabber {
|
||||
grab(): void {
|
||||
const p = new URLParse(window.location.href, true);
|
||||
if (p.pathname !== '/dorf1.php') {
|
||||
return;
|
||||
}
|
||||
|
||||
const villageId = grabActiveVillageId();
|
||||
const state = new VillageState(villageId);
|
||||
state.storeResourcesPerformance(grabResourcesPerformance());
|
||||
}
|
||||
}
|
@ -1,12 +1,14 @@
|
||||
import { StateGrabber } from './StateGrabber';
|
||||
import { ResourceGrabber } from './ResourceGrabber';
|
||||
import { ResourcePerformanceGrabber } from './ResourcePerformanceGrabber';
|
||||
|
||||
export class StateGrabberManager {
|
||||
private grabbers: Array<StateGrabber> = [];
|
||||
private readonly grabbers: Array<StateGrabber> = [];
|
||||
|
||||
constructor() {
|
||||
this.grabbers = [];
|
||||
this.grabbers.push(new ResourceGrabber());
|
||||
this.grabbers.push(new ResourcePerformanceGrabber());
|
||||
}
|
||||
|
||||
grab() {
|
||||
|
@ -1,6 +1,10 @@
|
||||
import { DataStorage } from '../Storage/DataStorage';
|
||||
import { Resources, ResourceStorage } from '../Game';
|
||||
|
||||
const RESOURCES_KEY = 'res';
|
||||
const CAPACITY_KEY = 'cap';
|
||||
const PERFORMANCE_KEY = 'perf';
|
||||
|
||||
export class VillageState {
|
||||
private storage: DataStorage;
|
||||
constructor(villageId: number) {
|
||||
@ -8,22 +12,32 @@ export class VillageState {
|
||||
}
|
||||
|
||||
storeResources(resources: Resources) {
|
||||
this.storage.set('res', resources);
|
||||
this.storage.set(RESOURCES_KEY, resources);
|
||||
}
|
||||
|
||||
getResources(): Resources {
|
||||
let plain = this.storage.get('res');
|
||||
let plain = this.storage.get(RESOURCES_KEY);
|
||||
let res = new Resources(0, 0, 0, 0);
|
||||
return Object.assign(res, plain) as Resources;
|
||||
}
|
||||
|
||||
storeResourceStorage(storage: ResourceStorage) {
|
||||
this.storage.set('cap', storage);
|
||||
this.storage.set(CAPACITY_KEY, storage);
|
||||
}
|
||||
|
||||
getResourceStorage(): ResourceStorage {
|
||||
let plain = this.storage.get('res');
|
||||
let plain = this.storage.get(CAPACITY_KEY);
|
||||
let res = new ResourceStorage(0, 0);
|
||||
return Object.assign(res, plain) as ResourceStorage;
|
||||
}
|
||||
|
||||
storeResourcesPerformance(resources: Resources) {
|
||||
this.storage.set(PERFORMANCE_KEY, resources);
|
||||
}
|
||||
|
||||
getResourcesPerformance(): Resources {
|
||||
let plain = this.storage.get(PERFORMANCE_KEY);
|
||||
let res = new Resources(0, 0, 0, 0);
|
||||
return Object.assign(res, plain) as Resources;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user