mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 03:31:07 +01:00
Better state handling for buttons, etc.
This commit is contained in:
parent
8978721e63
commit
6e70f14ca7
2 changed files with 24 additions and 41 deletions
|
|
@ -72,7 +72,7 @@ export default class DhTemplateLayer extends foundry.canvas.layers.TemplateLayer
|
|||
order: 6,
|
||||
title: 'CONTROLS.Presets',
|
||||
icon: 'fa-solid fa-stamp',
|
||||
onChange: (event, active) => DhTemplateLayer.handlePreset(event, active),
|
||||
onChange: (event) => DhTemplateLayer.handlePreset(event),
|
||||
button: true
|
||||
},
|
||||
settings: {
|
||||
|
|
@ -80,7 +80,7 @@ export default class DhTemplateLayer extends foundry.canvas.layers.TemplateLayer
|
|||
order: 7,
|
||||
title: 'CONTROLS.PresetsSettings',
|
||||
icon: 'fa-solid fa-gear',
|
||||
onChange: (event, active) => DhTemplateLayer.handlePresetSettings(event, active),
|
||||
onChange: (event) => DhTemplateLayer.handlePresetSettings(event),
|
||||
button: true
|
||||
},
|
||||
clear: {
|
||||
|
|
@ -97,49 +97,30 @@ export default class DhTemplateLayer extends foundry.canvas.layers.TemplateLayer
|
|||
};
|
||||
}
|
||||
|
||||
static handlePresetSettings(event, active) {
|
||||
console.log("Preset settings handling goes here, event, active is: ", event, active);
|
||||
if (active) {
|
||||
static handlePresetSettings(event) {
|
||||
console.log("Preset settings handling goes here, event, active is: ", event);
|
||||
ui.presetTemplates.open();
|
||||
// if (CONFIG.ux.TemplateManager.getActivePreview()) {
|
||||
// return;
|
||||
// }
|
||||
// const { width, height } = game.canvas.scene.dimensions;
|
||||
// const data = {
|
||||
// x: width / 2,
|
||||
// y: height / 2,
|
||||
// t: 'circle',
|
||||
// distance: 30,
|
||||
// fillColor: '#FF0000'
|
||||
// };
|
||||
|
||||
// CONFIG.ux.TemplateManager.createPreview(data);
|
||||
} else {
|
||||
ui.presetTemplates.close();
|
||||
// CONFIG.ux.TemplateManager.cancelActivePreview(event);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static handlePreset(event, active) {
|
||||
console.log("Preset handling goes here, event, active is: ", event, active);
|
||||
if (active) {
|
||||
if (CONFIG.ux.TemplateManager.getActivePreview()) {
|
||||
return;
|
||||
if (game.activeTool) {
|
||||
ui.controls.activate("toggles");
|
||||
}
|
||||
// if (CONFIG.ux.TemplateManager.getActivePreview()) {
|
||||
// return;
|
||||
// }
|
||||
const { width, height } = game.canvas.scene.dimensions;
|
||||
const data = {
|
||||
x: width / 2,
|
||||
y: height / 2,
|
||||
t: 'circle',
|
||||
distance: 30,
|
||||
fillColor: '#FF0000'
|
||||
fillColor: game.user.color || '#FF0000'
|
||||
};
|
||||
|
||||
CONFIG.ux.TemplateManager.createPreview(data);
|
||||
} else {
|
||||
CONFIG.ux.TemplateManager.cancelActivePreview(event);
|
||||
}
|
||||
}
|
||||
|
||||
_onDragLeftStart(event) {
|
||||
|
|
|
|||
|
|
@ -95,6 +95,8 @@ export default class DhTemplateManager {
|
|||
canvas.stage.off('mousedown', mousedown);
|
||||
canvas.app.view.removeEventListener('contextmenu', contextmenu);
|
||||
canvas.app.view.removeEventListener('wheel', wheel);
|
||||
|
||||
this.#activePreview = undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -103,9 +105,9 @@ export default class DhTemplateManager {
|
|||
*/
|
||||
#confirmTemplate(event) {
|
||||
event.stopPropagation();
|
||||
const docObject = this.#activePreview.document.toObject();
|
||||
canvas.scene.createEmbeddedDocuments('MeasuredTemplate', [docObject]);
|
||||
this.#cancelTemplate(event);
|
||||
|
||||
canvas.scene.createEmbeddedDocuments('MeasuredTemplate', [this.#activePreview.document.toObject()]);
|
||||
this.#activePreview = undefined;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue