import { TOKEN_HUD_VARIANTS } from '../../applications/tokenHUD.js'; import { Reticle } from '../reticle.js'; import { FEATURE_CONTROL, TVA_CONFIG } from '../settings.js'; import { registerWrapper, unregisterWrapper } from './wrappers.js'; const feature_id = 'HUD'; export function registerHUDWrappers() { unregisterWrapper(feature_id, 'TokenHUD.prototype.clear'); if (FEATURE_CONTROL[feature_id]) { registerWrapper(feature_id, 'TokenHUD.prototype.clear', _clear, 'MIXED'); } } function _clear(wrapped, ...args) { _applyVariantFlags(); // HUD should not close if we're in assisted overlay positioning mode if (Reticle.active && Reticle.mode === 'hud') return; return wrapped(...args); } async function _applyVariantFlags() { const { actor, variants } = TOKEN_HUD_VARIANTS; if (actor) { if (!variants?.length) { actor.unsetFlag('token-variants', 'variants'); } else { actor.setFlag('token-variants', 'variants', variants); } } TOKEN_HUD_VARIANTS.actor = null; TOKEN_HUD_VARIANTS.variants = null; }