Use the flags setting

This commit is contained in:
Chris Ryan 2025-08-20 21:57:15 +10:00
parent 57fc5142b6
commit 71238935d6
6 changed files with 11 additions and 45 deletions

View file

@ -3,8 +3,6 @@ import DhSceneConfig from '../../data/scene/SceneConfig.mjs';
export default class DhSceneConfigSettings extends foundry.applications.sheets.SceneConfig {
constructor(options, ...args) {
super(options, ...args);
// this.settings = new DhSceneConfig();
// this.rangeMeasurementSettingsOverrideField = this.settings.initial;
}
/** @override */
@ -41,20 +39,4 @@ export default class DhSceneConfigSettings extends foundry.applications.sheets.S
}
};
/** @inheritDoc */
async _preparePartContext(partId, context, options) {
console.log("_preparePartContext", partId, context, options);
context = await super._preparePartContext(partId, context, options);
switch (partId) {
case "dh":
// context.settings = this.settings;
// context.rangeMeasurementSettingsOverrideField = this.rangeMeasurementSettingsOverrideField;
break;
default:
context = await super._preparePartContext(partId, context, options);
}
if (partId in context.tabs) context.tab = context.tabs[partId];
return context;
}
}

View file

@ -11,14 +11,16 @@ export default class DhMeasuredTemplate extends foundry.canvas.placeables.Measur
if (splitRulerText.length > 0) {
const rulerValue = Number(splitRulerText[0]);
const result = this.constructor.getRangeLabels(rulerValue, rangeMeasurementSettings);
this.ruler.text = result.distance + result.units ? (' ' + result.units) : '' ;
this.ruler.text = result.distance + result.units ? (' ' + result.units) : '';
}
}
}
static getRangeLabels(distance, settings) {
let result = { distance : '', units: null }
if (canvas.scene?.rangeMeasurementSettingsOverride === true) {
let result = { distance: '', units: null }
const rangeMeasurementOverride = canvas.scene.flags.daggerheart?.rangeMeasurementOverride;
if (rangeMeasurementOverride === true) {
result.distance = distance;
result.units = canvas.scene?.grid?.units;
return result

View file

@ -7,3 +7,6 @@ export * as actors from './actor/_module.mjs';
export * as chatMessages from './chat-message/_modules.mjs';
export * as fields from './fields/_module.mjs';
export * as items from './item/_module.mjs';
export * as scene from './scene/_module.mjs';

View file

@ -1,15 +0,0 @@
export default class DhSceneConfig extends foundry.abstract.DataModel {
static defineSchema() {
const fields = foundry.data.fields;
return {
...super.defineSchema(),
rangeMeasurementSettingsOverrideField: new fields.BooleanField({
initial: false,
label: "Override Global Range Measurement Settings"
})
}
}
}

View file

@ -1 +0,0 @@
export { default as DhSceneConfig } from './SceneConfig.mjs';

View file

@ -1,14 +1,9 @@
<div class="tab{{#if tab.active}} active{{/if}}" data-group="{{tab.group}}" data-tab="{{tab.id}}">
<div class="form-group">
<div class="form-fields">
<label>
<div class="form-group">
<div class="form-fields">
<label>{{localize "Override Global Range Measurement Settings"}}</label>
<input type="checkbox" name="flags.daggerheart.rangeMeasurementOverride" {{checked document.flags.daggerheart.rangeMeasurementOverride}} />
</div>
</div>
</label>
<label>{{localize "Override Global Range Measurement Settings"}}</label>
<input type="checkbox" name="flags.daggerheart.rangeMeasurementOverride" {{checked
document.flags.daggerheart.rangeMeasurementOverride}} />
</div>
</div>
</div>