UNPKG

bp-prism-game

Version:
46 lines 4.93 kB
import { AssetClass } from '../asset/asset.class'; /** * The Scenery Class */ export class SceneryClass extends AssetClass { /** * Constructor * @param gameService The GameService * @param ctx The ctx * @param guid The guid of the scenery * @param imageType The animation number of the scenery */ constructor(gameService, ctx, guid, imageType) { super(gameService, ctx, guid, imageType); } /** * Get the type */ getType() { return this.type; } /** * Draw everything necessary */ draw() { if (this.isImageLoaded) { this.images.map((imageData) => { this.ctx.save(); this.ctx.translate(this.x, this.y); this.ctx.scale(this.assetScale.x, this.assetScale.y); if (imageData.isRotate) { this.ctx.rotate(this.gameService.getRadians(imageData.rotate)); } this.ctx.drawImage(imageData.imageSource, imageData.x, imageData.y); this.ctx.restore(); }); } } /** * Animate the Scenery */ animate() { this.draw(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmVyeS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByaXNtL3NyYy9saWIvc2NlbmVyeS9zY2VuZXJ5LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUtsRDs7R0FFRztBQUNILE1BQU0sT0FBZ0IsWUFBYSxTQUFRLFVBQVU7SUFLbkQ7Ozs7OztPQU1HO0lBQ0gsWUFBWSxXQUF3QixFQUFFLEdBQTZCLEVBQUUsSUFBWSxFQUFFLFNBQTBCO1FBQzNHLEtBQUssQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNPLElBQUk7UUFDWixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUE2QixFQUFFLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUU7b0JBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2lCQUNoRTtnQkFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNwRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxPQUFPO1FBQ1osSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2FtZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2dhbWUuc2VydmljZSc7XG5pbXBvcnQgeyBBc3NldENsYXNzIH0gZnJvbSAnLi4vYXNzZXQvYXNzZXQuY2xhc3MnO1xuaW1wb3J0IHsgSW1hZ2VMb2NhdGlvbk1vZGVsIH0gZnJvbSAnLi4vbW9kZWwvaW1hZ2UvaW1hZ2UtbG9jYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgSW1hZ2VMb2FkZWRFbnVtIH0gZnJvbSAnLi4vZW51bS9pbWFnZS1sb2FkZWQuZW51bSc7XG5pbXBvcnQgeyBHYW1lQXNzZXRFbnVtIH0gZnJvbSAnLi4vZW51bS9nYW1lLWFzc2V0cy5lbnVtJztcblxuLyoqXG4gKiBUaGUgU2NlbmVyeSBDbGFzc1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2NlbmVyeUNsYXNzIGV4dGVuZHMgQXNzZXRDbGFzcyB7XG4gIC8qKlxuICAgKiBTY2VuZXJ5IFR5cGVcbiAgICovXG4gIHByb3RlY3RlZCB0eXBlOiBHYW1lQXNzZXRFbnVtO1xuICAvKipcbiAgICogQ29uc3RydWN0b3JcbiAgICogQHBhcmFtIGdhbWVTZXJ2aWNlIFRoZSBHYW1lU2VydmljZVxuICAgKiBAcGFyYW0gY3R4IFRoZSBjdHhcbiAgICogQHBhcmFtIGd1aWQgVGhlIGd1aWQgb2YgdGhlIHNjZW5lcnlcbiAgICogQHBhcmFtIGltYWdlVHlwZSBUaGUgYW5pbWF0aW9uIG51bWJlciBvZiB0aGUgc2NlbmVyeVxuICAgKi9cbiAgY29uc3RydWN0b3IoZ2FtZVNlcnZpY2U6IEdhbWVTZXJ2aWNlLCBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCwgZ3VpZDogbnVtYmVyLCBpbWFnZVR5cGU6IEltYWdlTG9hZGVkRW51bSkge1xuICAgIHN1cGVyKGdhbWVTZXJ2aWNlLCBjdHgsIGd1aWQsIGltYWdlVHlwZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB0eXBlXG4gICAqL1xuICBwdWJsaWMgZ2V0VHlwZSgpOiBHYW1lQXNzZXRFbnVtIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIERyYXcgZXZlcnl0aGluZyBuZWNlc3NhcnlcbiAgICovXG4gIHByb3RlY3RlZCBkcmF3KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzSW1hZ2VMb2FkZWQpIHtcbiAgICAgIHRoaXMuaW1hZ2VzLm1hcCgoaW1hZ2VEYXRhOiBJbWFnZUxvY2F0aW9uTW9kZWwpID0+IHtcbiAgICAgICAgdGhpcy5jdHguc2F2ZSgpO1xuICAgICAgICB0aGlzLmN0eC50cmFuc2xhdGUodGhpcy54LCB0aGlzLnkpO1xuICAgICAgICB0aGlzLmN0eC5zY2FsZSh0aGlzLmFzc2V0U2NhbGUueCwgdGhpcy5hc3NldFNjYWxlLnkpO1xuICAgICAgICBpZiAoaW1hZ2VEYXRhLmlzUm90YXRlKSB7XG4gICAgICAgICAgdGhpcy5jdHgucm90YXRlKHRoaXMuZ2FtZVNlcnZpY2UuZ2V0UmFkaWFucyhpbWFnZURhdGEucm90YXRlKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdHguZHJhd0ltYWdlKGltYWdlRGF0YS5pbWFnZVNvdXJjZSwgaW1hZ2VEYXRhLngsIGltYWdlRGF0YS55KTtcbiAgICAgICAgdGhpcy5jdHgucmVzdG9yZSgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFuaW1hdGUgdGhlIFNjZW5lcnlcbiAgICovXG4gIHB1YmxpYyBhbmltYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZHJhdygpO1xuICB9XG59XG4iXX0=