/* -------------------------------------------- */ export class RdDTMRRencontreDialog extends Dialog { /* -------------------------------------------- */ constructor(actor, rencontre, tmr) { const dialogConf = { title: "Rencontre en TMR!", content: "Vous rencontrez un " + rencontre.name + " de force " + rencontre.system.force + "
", buttons: { derober: { icon: '', label: "Se dérober", callback: () => this.onButtonAction('derober') }, maitiser: { icon: '', label: "Maîtriser", callback: () => this.onButtonAction('maitriser') } }, default: "derober" } if ((rencontre.system.refoulement ?? 0) == 0) { dialogConf.buttons.ignorer = { icon: '', label: "Ignorer", callback: () => this.onButtonAction('ignorer') } } else { dialogConf.buttons.refouler = { icon: '', label: "Refouler", callback: () => this.onButtonAction('refouler') } } const dialogOptions = { classes: ["tmrrencdialog"], width: 320, height: 'fit-content', 'z-index': 50 } super(dialogConf, dialogOptions); this.toClose = false; this.tmr = tmr; this.actor = actor; this.rencontre = rencontre; } async onButtonAction(action) { this.toClose = true; await this.actor.tmrApp?.restoreTMRAfterAction(); this.actor.tmrApp?.onActionRencontre(action, this.tmr, this.rencontre) } /* -------------------------------------------- */ async close() { if (this.actor.tmrApp){ if (this.toClose) { return await super.close(); } else { ui.notifications.info("Vous devez résoudre la rencontre."); return this.actor.tmrApp.forceTMRContinueAction(); } } else { return await super.close(); } } }