|
|
- 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;
- }
|