/** * Extend the base Dialog entity by defining a custom window to perform spell. * @extends {Dialog} */ export class RdDTMRDialog extends Dialog { /* -------------------------------------------- */ constructor(sort, html, actor) { // Common conf let dialogConf = { content: html, buttons: { rollButton: { label: "Lancer", callback: html => this.performRoll(html) } }, default: "rollButton" } let dialogOptions = { classes: [ "tmrdialog"] } dialogConf.title = "Terres Médianes de Rêve", dialogOptions.width = 740; dialogOptions.height = 960; super(dialogConf, dialogOptions); this.sort = sort; this.actor = actor; } /* -------------------------------------------- */ performRoll (html) { this.actor.performRoll( this.rollData ); } /* -------------------------------------------- */ loadImage(url) { return new Promise(r => { let i = new Image(); i.onload = (() => r(i)); i.src = url; }); } /* -------------------------------------------- */ async init_canvas() { var ctx = document.getElementById('canvas_tmr'); ctx = ctx.getContext('2d'); let img = await this.loadImage("systems/foundryvtt-reve-de-dragon/styles/ui/tmp_main_r1.webp"); await ctx.drawImage(img, 0, 0, 720, 860); } /* -------------------------------------------- */ activateListeners(html) { super.activateListeners(html); this.init_canvas(); } }