summaryrefslogtreecommitdiffstats
path: root/src/control/MapContext.ts
blob: 4bc75c7889de8585158f70cd501487c3fa12c23d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
'use strict';


import Direction from '../model/Direction';
import Entity from '../model/Entity';
import EntityPosition from '../model/EntityPosition';
import MapData from '../model/MapData';
import Position from '../model/Position';

import MapView from '../view/MapView';


export default class MapContext {
        view: MapView;

        entities: {[key: string]: EntityPosition} = {};
        playerEntity: EntityPosition;

        constructor(public map: MapData) {
                this.playerEntity = new EntityPosition(
                        new Entity('square'),
                        new Position(8, 8),
                        Direction.East
                );

                this.addEntity(this.playerEntity);

                this.view = new MapView(map, this.entities);
        }

        addEntity(entity: EntityPosition) {
                this.entities[entity.position.asString()] = entity;
        }
}