bp-prism-game
Version:
The BP Prism Game
37 lines • 3.91 kB
JavaScript
import { AssetClass } from '../asset/asset.class';
/**
* The Level Class
*/
export class LevelClass extends AssetClass {
/**
* Constructor
* @param gameService The GameService
* @param ctx The ctx
* @param guid The guid of the level
* @param imageType The animation number of the level
*/
constructor(gameService, ctx, guid, imageType) {
super(gameService, ctx, guid, imageType);
}
/**
* Draw everything necessary
*/
draw() {
if (this.isImageLoaded) {
this.ctx.save();
this.ctx.translate(this.x, this.y);
this.ctx.scale(this.assetScale.x, this.assetScale.y);
this.images.map((imageData) => {
this.ctx.drawImage(imageData.imageSource, imageData.x, imageData.y);
});
this.ctx.restore();
}
}
/**
* Animate the Level
*/
animate() {
this.draw();
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV2ZWwuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmlzbS9zcmMvbGliL2xldmVsL2xldmVsLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlsRDs7R0FFRztBQUNILE1BQU0sT0FBZ0IsVUFBVyxTQUFRLFVBQVU7SUFDakQ7Ozs7OztPQU1HO0lBQ0gsWUFBWSxXQUF3QixFQUFFLEdBQTZCLEVBQUUsSUFBWSxFQUFFLFNBQTBCO1FBQzNHLEtBQUssQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxJQUFJO1FBQ1osSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQTZCLEVBQUUsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0RSxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxPQUFPO1FBQ1osSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2FtZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2dhbWUuc2VydmljZSc7XG5pbXBvcnQgeyBBc3NldENsYXNzIH0gZnJvbSAnLi4vYXNzZXQvYXNzZXQuY2xhc3MnO1xuaW1wb3J0IHsgSW1hZ2VMb2NhdGlvbk1vZGVsIH0gZnJvbSAnLi4vbW9kZWwvaW1hZ2UvaW1hZ2UtbG9jYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgSW1hZ2VMb2FkZWRFbnVtIH0gZnJvbSAnLi4vZW51bS9pbWFnZS1sb2FkZWQuZW51bSc7XG5cbi8qKlxuICogVGhlIExldmVsIENsYXNzXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMZXZlbENsYXNzIGV4dGVuZHMgQXNzZXRDbGFzcyB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvclxuICAgKiBAcGFyYW0gZ2FtZVNlcnZpY2UgVGhlIEdhbWVTZXJ2aWNlXG4gICAqIEBwYXJhbSBjdHggVGhlIGN0eFxuICAgKiBAcGFyYW0gZ3VpZCBUaGUgZ3VpZCBvZiB0aGUgbGV2ZWxcbiAgICogQHBhcmFtIGltYWdlVHlwZSBUaGUgYW5pbWF0aW9uIG51bWJlciBvZiB0aGUgbGV2ZWxcbiAgICovXG4gIGNvbnN0cnVjdG9yKGdhbWVTZXJ2aWNlOiBHYW1lU2VydmljZSwgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsIGd1aWQ6IG51bWJlciwgaW1hZ2VUeXBlOiBJbWFnZUxvYWRlZEVudW0pIHtcbiAgICBzdXBlcihnYW1lU2VydmljZSwgY3R4LCBndWlkLCBpbWFnZVR5cGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIERyYXcgZXZlcnl0aGluZyBuZWNlc3NhcnlcbiAgICovXG4gIHByb3RlY3RlZCBkcmF3KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzSW1hZ2VMb2FkZWQpIHtcbiAgICAgIHRoaXMuY3R4LnNhdmUoKTtcbiAgICAgIHRoaXMuY3R4LnRyYW5zbGF0ZSh0aGlzLngsIHRoaXMueSk7XG4gICAgICB0aGlzLmN0eC5zY2FsZSh0aGlzLmFzc2V0U2NhbGUueCwgdGhpcy5hc3NldFNjYWxlLnkpO1xuICAgICAgdGhpcy5pbWFnZXMubWFwKChpbWFnZURhdGE6IEltYWdlTG9jYXRpb25Nb2RlbCkgPT4ge1xuICAgICAgICB0aGlzLmN0eC5kcmF3SW1hZ2UoaW1hZ2VEYXRhLmltYWdlU291cmNlLCBpbWFnZURhdGEueCwgaW1hZ2VEYXRhLnkpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmN0eC5yZXN0b3JlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFuaW1hdGUgdGhlIExldmVsXG4gICAqL1xuICBwdWJsaWMgYW5pbWF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRyYXcoKTtcbiAgfVxufVxuIl19