Move shader initialization out of renderer
Avoid public fields and ! overrides, make almost all fields readonly.
This commit is contained in:
parent
9770eaf432
commit
ebc56db63c
8 changed files with 154 additions and 98 deletions
|
@ -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);
|
||||
|
|
Reference in a new issue