UNPKG

bp-prism-game

Version:
72 lines 7.03 kB
import { ImageLoadedEnum } from '../../enum/image-loaded.enum'; import { CharacterClass } from '../character.class'; /** * The Number Class */ export class NumberClass extends CharacterClass { /** * Constructor * @param gameService The GameService * @param ctx The ctx */ constructor(gameService, ctx) { super(gameService, ctx); this.loadNumberImages(); this.assetScale = { x: 0.2, y: 0.2 }; } /** * Load the Number Images */ loadNumberImages() { const imagesToLoad = [ ImageLoadedEnum.number0, ImageLoadedEnum.number1, ImageLoadedEnum.number2, ImageLoadedEnum.number3, ImageLoadedEnum.number4, ImageLoadedEnum.number5, ImageLoadedEnum.number6, ImageLoadedEnum.number7, ImageLoadedEnum.number8, ImageLoadedEnum.number9 ]; imagesToLoad.map((key) => { this.images.push(this.gameService.getImage(key)); this.isImageLoaded = true; }); } /** * Draw the Number * @param inputNumber the number to display * @param padNumbers if the numbers should be padded */ setNumber(inputNumber, padNumbers = true) { const numbers = padNumbers ? this.padPoints(inputNumber) : inputNumber.toString(); this.characters = []; for (const index of numbers) { this.characters.push(this.images[Number(index)]); } } /** * Pad the points * * @param points The points to pad */ padPoints(points) { let stringPoints = points.toString(); if (points < 10) { stringPoints = `000${points}`; } else if (points < 100) { stringPoints = `00${points}`; } else if (points < 1000) { stringPoints = `0${points}`; } return stringPoints; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJpc20vc3JjL2xpYi90ZXh0L251bWJlci9udW1iZXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRDs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFZLFNBQVEsY0FBYztJQUM3Qzs7OztPQUlHO0lBQ0gsWUFBWSxXQUF3QixFQUFFLEdBQTZCO1FBQ2pFLEtBQUssQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNoQixDQUFDLEVBQUUsR0FBRztZQUNOLENBQUMsRUFBRSxHQUFHO1NBQ1ksQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSyxnQkFBZ0I7UUFDdEIsTUFBTSxZQUFZLEdBQUc7WUFDbkIsZUFBZSxDQUFDLE9BQU87WUFDdkIsZUFBZSxDQUFDLE9BQU87WUFDdkIsZUFBZSxDQUFDLE9BQU87WUFDdkIsZUFBZSxDQUFDLE9BQU87WUFDdkIsZUFBZSxDQUFDLE9BQU87WUFDdkIsZUFBZSxDQUFDLE9BQU87WUFDdkIsZUFBZSxDQUFDLE9BQU87WUFDdkIsZUFBZSxDQUFDLE9BQU87WUFDdkIsZUFBZSxDQUFDLE9BQU87WUFDdkIsZUFBZSxDQUFDLE9BQU87U0FDeEIsQ0FBQztRQUVGLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFvQixFQUFFLEVBQUU7WUFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksU0FBUyxDQUFDLFdBQW1CLEVBQUUsVUFBVSxHQUFHLElBQUk7UUFDckQsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxTQUFTLENBQUMsTUFBYztRQUM5QixJQUFJLFlBQVksR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckMsSUFBSSxNQUFNLEdBQUcsRUFBRSxFQUFFO1lBQ2YsWUFBWSxHQUFHLE1BQU0sTUFBTSxFQUFFLENBQUM7U0FDL0I7YUFBTSxJQUFJLE1BQU0sR0FBRyxHQUFHLEVBQUU7WUFDdkIsWUFBWSxHQUFHLEtBQUssTUFBTSxFQUFFLENBQUM7U0FDOUI7YUFBTSxJQUFJLE1BQU0sR0FBRyxJQUFJLEVBQUU7WUFDeEIsWUFBWSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7U0FDN0I7UUFFRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvZ2FtZS5zZXJ2aWNlJztcbmltcG9ydCB7IEFzc2V0U2NhbGVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsL2Fzc2V0LXNjYWxlLm1vZGUnO1xuaW1wb3J0IHsgSW1hZ2VMb2FkZWRFbnVtIH0gZnJvbSAnLi4vLi4vZW51bS9pbWFnZS1sb2FkZWQuZW51bSc7XG5pbXBvcnQgeyBDaGFyYWN0ZXJDbGFzcyB9IGZyb20gJy4uL2NoYXJhY3Rlci5jbGFzcyc7XG5cbi8qKlxuICogVGhlIE51bWJlciBDbGFzc1xuICovXG5leHBvcnQgY2xhc3MgTnVtYmVyQ2xhc3MgZXh0ZW5kcyBDaGFyYWN0ZXJDbGFzcyB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvclxuICAgKiBAcGFyYW0gZ2FtZVNlcnZpY2UgVGhlIEdhbWVTZXJ2aWNlXG4gICAqIEBwYXJhbSBjdHggVGhlIGN0eFxuICAgKi9cbiAgY29uc3RydWN0b3IoZ2FtZVNlcnZpY2U6IEdhbWVTZXJ2aWNlLCBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCkge1xuICAgIHN1cGVyKGdhbWVTZXJ2aWNlLCBjdHgpO1xuXG4gICAgdGhpcy5sb2FkTnVtYmVySW1hZ2VzKCk7XG5cbiAgICB0aGlzLmFzc2V0U2NhbGUgPSB7XG4gICAgICB4OiAwLjIsXG4gICAgICB5OiAwLjJcbiAgICB9IGFzIEFzc2V0U2NhbGVNb2RlbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIHRoZSBOdW1iZXIgSW1hZ2VzXG4gICAqL1xuICBwcml2YXRlIGxvYWROdW1iZXJJbWFnZXMoKTogdm9pZCB7XG4gICAgY29uc3QgaW1hZ2VzVG9Mb2FkID0gW1xuICAgICAgSW1hZ2VMb2FkZWRFbnVtLm51bWJlcjAsXG4gICAgICBJbWFnZUxvYWRlZEVudW0ubnVtYmVyMSxcbiAgICAgIEltYWdlTG9hZGVkRW51bS5udW1iZXIyLFxuICAgICAgSW1hZ2VMb2FkZWRFbnVtLm51bWJlcjMsXG4gICAgICBJbWFnZUxvYWRlZEVudW0ubnVtYmVyNCxcbiAgICAgIEltYWdlTG9hZGVkRW51bS5udW1iZXI1LFxuICAgICAgSW1hZ2VMb2FkZWRFbnVtLm51bWJlcjYsXG4gICAgICBJbWFnZUxvYWRlZEVudW0ubnVtYmVyNyxcbiAgICAgIEltYWdlTG9hZGVkRW51bS5udW1iZXI4LFxuICAgICAgSW1hZ2VMb2FkZWRFbnVtLm51bWJlcjlcbiAgICBdO1xuXG4gICAgaW1hZ2VzVG9Mb2FkLm1hcCgoa2V5OiBJbWFnZUxvYWRlZEVudW0pID0+IHtcbiAgICAgIHRoaXMuaW1hZ2VzLnB1c2godGhpcy5nYW1lU2VydmljZS5nZXRJbWFnZShrZXkpKTtcbiAgICAgIHRoaXMuaXNJbWFnZUxvYWRlZCA9IHRydWU7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRHJhdyB0aGUgTnVtYmVyXG4gICAqIEBwYXJhbSBpbnB1dE51bWJlciB0aGUgbnVtYmVyIHRvIGRpc3BsYXlcbiAgICogQHBhcmFtIHBhZE51bWJlcnMgaWYgdGhlIG51bWJlcnMgc2hvdWxkIGJlIHBhZGRlZFxuICAgKi9cbiAgcHVibGljIHNldE51bWJlcihpbnB1dE51bWJlcjogbnVtYmVyLCBwYWROdW1iZXJzID0gdHJ1ZSk6IHZvaWQge1xuICAgIGNvbnN0IG51bWJlcnMgPSBwYWROdW1iZXJzID8gdGhpcy5wYWRQb2ludHMoaW5wdXROdW1iZXIpIDogaW5wdXROdW1iZXIudG9TdHJpbmcoKTtcbiAgICB0aGlzLmNoYXJhY3RlcnMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGluZGV4IG9mIG51bWJlcnMpIHtcbiAgICAgIHRoaXMuY2hhcmFjdGVycy5wdXNoKHRoaXMuaW1hZ2VzW051bWJlcihpbmRleCldKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUGFkIHRoZSBwb2ludHNcbiAgICpcbiAgICogQHBhcmFtIHBvaW50cyBUaGUgcG9pbnRzIHRvIHBhZFxuICAgKi9cbiAgcHJpdmF0ZSBwYWRQb2ludHMocG9pbnRzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGxldCBzdHJpbmdQb2ludHMgPSBwb2ludHMudG9TdHJpbmcoKTtcbiAgICBpZiAocG9pbnRzIDwgMTApIHtcbiAgICAgIHN0cmluZ1BvaW50cyA9IGAwMDAke3BvaW50c31gO1xuICAgIH0gZWxzZSBpZiAocG9pbnRzIDwgMTAwKSB7XG4gICAgICBzdHJpbmdQb2ludHMgPSBgMDAke3BvaW50c31gO1xuICAgIH0gZWxzZSBpZiAocG9pbnRzIDwgMTAwMCkge1xuICAgICAgc3RyaW5nUG9pbnRzID0gYDAke3BvaW50c31gO1xuICAgIH1cblxuICAgIHJldHVybiBzdHJpbmdQb2ludHM7XG4gIH1cbn1cbiJdfQ==