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 { export default class DhSceneConfigSettings extends foundry.applications.sheets.SceneConfig {
constructor(options, ...args) { constructor(options, ...args) {
super(options, ...args); super(options, ...args);
// this.settings = new DhSceneConfig();
// this.rangeMeasurementSettingsOverrideField = this.settings.initial;
} }
/** @override */ /** @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) { if (splitRulerText.length > 0) {
const rulerValue = Number(splitRulerText[0]); const rulerValue = Number(splitRulerText[0]);
const result = this.constructor.getRangeLabels(rulerValue, rangeMeasurementSettings); 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) { static getRangeLabels(distance, settings) {
let result = { distance : '', units: null } let result = { distance: '', units: null }
if (canvas.scene?.rangeMeasurementSettingsOverride === true) { const rangeMeasurementOverride = canvas.scene.flags.daggerheart?.rangeMeasurementOverride;
if (rangeMeasurementOverride === true) {
result.distance = distance; result.distance = distance;
result.units = canvas.scene?.grid?.units; result.units = canvas.scene?.grid?.units;
return result 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 chatMessages from './chat-message/_modules.mjs';
export * as fields from './fields/_module.mjs'; export * as fields from './fields/_module.mjs';
export * as items from './item/_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="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-group">
<div class="form-fields"> <div class="form-fields">
<label>{{localize "Override Global Range Measurement Settings"}}</label> <label>{{localize "Override Global Range Measurement Settings"}}</label>
<input type="checkbox" name="flags.daggerheart.rangeMeasurementOverride" {{checked document.flags.daggerheart.rangeMeasurementOverride}} /> <input type="checkbox" name="flags.daggerheart.rangeMeasurementOverride" {{checked
</div> document.flags.daggerheart.rangeMeasurementOverride}} />
</div>
</label>
</div> </div>
</div> </div>
</div> </div>