/* -------------------------------------------- */ export class RdDTMRRencontreDialog extends Dialog { /* -------------------------------------------- */ constructor(html, tmrApp, rencontre, postRencontre) { const dialogConf = { title: "Rencontre en TMR!", content: "Vous rencontrez un " + rencontre.name + " de force " + rencontre.force + "
", buttons: { derober: { icon: '', label: "Se dérober", callback: () => { this.onButtonFuir(() => tmrApp.derober()); } }, refouler: { icon: '', label: "Refouler", callback: () => this.onButtonAction(() => tmrApp.refouler()) }, maitiser: { icon: '', label: "Maîtriser", callback: () => this.onButtonAction(() => tmrApp.maitriserRencontre()) } }, default: "derober" }; if (rencontre.ignorer) { dialogConf.buttons.ignorer = { icon: '', label: "Ignorer", callback: () => this.onButtonAction(() => tmrApp.ignorerRencontre()) } }; const dialogOptions = { classes: ["tmrrencdialog"], width: 320, height: 240, 'z-index': 50 } super(dialogConf, dialogOptions); this.toClose = false; this.rencontreData = duplicate(rencontre); this.postRencontre = postRencontre; this.tmrApp = tmrApp; this.tmrApp.minimize(); } async onButtonAction(action) { this.toClose = true; await action(); this.postRencontre(); } async onButtonFuir(action) { this.toClose = true; await action(); } /* -------------------------------------------- */ close() { if (this.toClose) { this.tmrApp.maximize(); return super.close(); } ui.notifications.info("Vous devez résoudre la rencontre."); } }