Simplify entity list

This commit is contained in:
Matthias Schiffer 2016-01-07 20:19:34 +01:00
parent f569eb788f
commit a09b58b54c
3 changed files with 5 additions and 13 deletions

View file

@ -15,7 +15,7 @@ import MapView from '../view/MapView';
export default class MapContext {
view: MapView;
entities: {[key: string]: EntityPosition} = {};
entities: EntityPosition[] = [];
playerEntity: EntityPosition;
@ -42,7 +42,7 @@ export default class MapContext {
}
private addEntity(entity: EntityPosition) {
this.entities[entity.position.asString()] = entity;
this.entities.push(entity);
}
private addTransition(entity: EntityPosition, dest: Position, start: number, dur: number) {

View file

@ -29,8 +29,4 @@ export default class Position {
return p;
}
asString(): string {
return `${this.x},${this.y}`;
}
}

View file

@ -75,7 +75,7 @@ export default class MapView {
private entitySprites: {[key: string]: HTMLImageElement};
constructor(private map: MapData,
private entities: {[key: string]: EntityPosition},
private entities: EntityPosition[],
private origin: EntityPosition,
private updateState: (time: number) => void) {
this.canvas = document.createElement('canvas');
@ -91,7 +91,7 @@ export default class MapView {
this.tiles = tiles;
});
var entitiesReady = loadEntities(this.getEntities()).then((entities) => {
var entitiesReady = loadEntities(this.entities).then((entities) => {
this.entitySprites = entities;
});
@ -100,10 +100,6 @@ export default class MapView {
});
}
private getEntities(): EntityPosition[] {
return _.values<EntityPosition>(this.entities);
}
private setSize() {
var e = document.documentElement;
var w = window.innerWidth || e.clientWidth || body.clientWidth;
@ -197,7 +193,7 @@ export default class MapView {
var animate = false;
this.getEntities().forEach(e => {
this.entities.forEach(e => {
if (this.drawEntity(e, time))
animate = true;
});