All files / projects-dev/libs/games/src/tiles factory.ts

100% Statements 31/31
100% Branches 4/4
100% Functions 1/1
100% Lines 31/31

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 321x 1x 1x 1x 1x 1x 1x 1x 1x 1x 88807x 88807x 88807x 88807x 27901x 27901x 27901x 88807x 31301x 31301x 31301x 88807x 88807x 29605x 29605x 29605x 88807x 88807x 88807x 88807x 1x  
import { AbstractFactory } from "@jga/patterns";
 
import { FloorTile } from "./floor";
import { NullTile } from "./null";
import { TileInterface } from "./tile";
import { WallTile } from "./wall";
 
export class TileFactory extends AbstractFactory<TileInterface, string> {
    // eslint-disable-next-line class-methods-use-this
    public create(parameters: string): TileInterface {
        let tile: TileInterface;
 
        switch (parameters) {
            case "floor": {
                tile = new FloorTile();
                break;
            }
            case "wall": {
                tile = new WallTile();
                break;
            }
            // case "null":
            default: {
                tile = new NullTile();
                break;
            }
        }
 
        return tile;
    }
}