class KHDice {
    static async Init(controls, html) {
        const diceRollbtn = $(
            `
            
                
                
                    
                
`
        );
        html.append(diceRollbtn);
        html.find('.kh-dice-roller-popup li').click(ev => this._rollDice(ev, html));
        diceRollbtn[0].addEventListener('click', ev => this.PopupSheet(ev, html));
    }
    static async _rollDice(event, html) {
        var diceType = event.target.dataset.diceType;
        var diceRoll = event.target.dataset.diceRoll;
        var formula = diceRoll + "d" + diceType;
        let r = new Roll(formula);
        let res = r.roll();
        let rollData = {
            name: "DICE.ROLL",
            res: res
        };
        const html2 = await renderTemplate("systems/kopparhavet/templates/dice/roll.html", rollData);
        await r.toMessage({
            user: game.user.id,
            create: true,
            content: html2
        });
        this._close(html);
    }
    static async PopupSheet(evt, html) {
        evt.stopPropagation();
        if (html.find('.sdr-scene-control').hasClass('active')) {
            this._close(html);
        } else {
            this._open(html);
        }
    }
    static async _close(html) {
        html.find('#SDRpopup').hide();
        html.find('.sdr-scene-control').removeClass('active');
        html.find('.scene-control').first().addClass('active');
    }
    static async _open(html) {
        html.find('.scene-control').removeClass('active');
        html.find('#SDRpopup').show();
        html.find('.sdr-scene-control').addClass('active');
    }
}
Hooks.on('renderSceneControls', (controls, html) => {
    KHDice.Init(controls, html);
});
console.log("Kopparhavet | Dice Roller loaded");