Move shader initialization out of renderer

Avoid public fields and ! overrides, make almost all fields readonly.
This commit is contained in:
Matthias Schiffer 2018-10-24 23:05:13 +02:00
parent 9770eaf432
commit ebc56db63c
Signed by: neocturne
GPG key ID: 16EF3F64CB201D9C
8 changed files with 154 additions and 98 deletions

View file

@ -1,18 +1,18 @@
import {mapFromObject} from '../util';
interface Input {
tiles: {[key: string]: string};
collision: string[];
layers: string[][][];
readonly tiles: {[key: string]: string};
readonly collision: string[];
readonly layers: string[][][];
}
export default class MapData {
public tiles: Map<string, string>;
public collision: string[];
public layers: string[][][];
public readonly tiles: Map<string, string>;
public readonly collision: string[];
public readonly layers: string[][][];
public width: number;
public height: number;
public readonly width: number;
public readonly height: number;
constructor(data: Input) {
this.tiles = mapFromObject(data.tiles);