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,
|
order: 6,
|
||||||
title: 'CONTROLS.Presets',
|
title: 'CONTROLS.Presets',
|
||||||
icon: 'fa-solid fa-stamp',
|
icon: 'fa-solid fa-stamp',
|
||||||
onChange: (event, active) => DhTemplateLayer.handlePreset(event, active),
|
onChange: (event) => DhTemplateLayer.handlePreset(event),
|
||||||
button: true
|
button: true
|
||||||
},
|
},
|
||||||
settings: {
|
settings: {
|
||||||
|
|
@ -80,7 +80,7 @@ export default class DhTemplateLayer extends foundry.canvas.layers.TemplateLayer
|
||||||
order: 7,
|
order: 7,
|
||||||
title: 'CONTROLS.PresetsSettings',
|
title: 'CONTROLS.PresetsSettings',
|
||||||
icon: 'fa-solid fa-gear',
|
icon: 'fa-solid fa-gear',
|
||||||
onChange: (event, active) => DhTemplateLayer.handlePresetSettings(event, active),
|
onChange: (event) => DhTemplateLayer.handlePresetSettings(event),
|
||||||
button: true
|
button: true
|
||||||
},
|
},
|
||||||
clear: {
|
clear: {
|
||||||
|
|
@ -97,49 +97,30 @@ export default class DhTemplateLayer extends foundry.canvas.layers.TemplateLayer
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
static handlePresetSettings(event, active) {
|
static handlePresetSettings(event) {
|
||||||
console.log("Preset settings handling goes here, event, active is: ", event, active);
|
console.log("Preset settings handling goes here, event, active is: ", event);
|
||||||
if (active) {
|
ui.presetTemplates.open();
|
||||||
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) {
|
static handlePreset(event, active) {
|
||||||
console.log("Preset handling goes here, event, active is: ", event, active);
|
console.log("Preset handling goes here, event, active is: ", event, active);
|
||||||
if (active) {
|
if (game.activeTool) {
|
||||||
if (CONFIG.ux.TemplateManager.getActivePreview()) {
|
ui.controls.activate("toggles");
|
||||||
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 {
|
|
||||||
CONFIG.ux.TemplateManager.cancelActivePreview(event);
|
|
||||||
}
|
}
|
||||||
|
// 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: game.user.color || '#FF0000'
|
||||||
|
};
|
||||||
|
|
||||||
|
CONFIG.ux.TemplateManager.createPreview(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
_onDragLeftStart(event) {
|
_onDragLeftStart(event) {
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,8 @@ export default class DhTemplateManager {
|
||||||
canvas.stage.off('mousedown', mousedown);
|
canvas.stage.off('mousedown', mousedown);
|
||||||
canvas.app.view.removeEventListener('contextmenu', contextmenu);
|
canvas.app.view.removeEventListener('contextmenu', contextmenu);
|
||||||
canvas.app.view.removeEventListener('wheel', wheel);
|
canvas.app.view.removeEventListener('wheel', wheel);
|
||||||
|
|
||||||
|
this.#activePreview = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -103,9 +105,9 @@ export default class DhTemplateManager {
|
||||||
*/
|
*/
|
||||||
#confirmTemplate(event) {
|
#confirmTemplate(event) {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
|
const docObject = this.#activePreview.document.toObject();
|
||||||
|
canvas.scene.createEmbeddedDocuments('MeasuredTemplate', [docObject]);
|
||||||
this.#cancelTemplate(event);
|
this.#cancelTemplate(event);
|
||||||
|
|
||||||
canvas.scene.createEmbeddedDocuments('MeasuredTemplate', [this.#activePreview.document.toObject()]);
|
|
||||||
this.#activePreview = undefined;
|
this.#activePreview = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue