All user data for FoundryVTT. Includes worlds, systems, modules, and any asset in the "foundryuserdata" directory. Does NOT include the FoundryVTT installation itself.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

51 lines
2.0 KiB

import { registerEffectIconHooks } from './effectIconHooks.js';
import { registerArtSelectButtonHooks } from './artSelectButtonHooks.js';
import { registerOverlayHooks } from './overlayHooks.js';
import { registerEffectMappingHooks } from './effectMappingHooks.js';
import { registerHUDHooks } from './hudHooks.js';
import { registerUserMappingHooks } from './userMappingHooks.js';
import { registerWildcardHooks } from './wildcardHooks.js';
import { registerPopRandomizeHooks } from './popUpRandomizeHooks.js';
import { TVA_CONFIG } from '../settings.js';
export const REGISTERED_HOOKS = {};
export function registerHook(feature_id, name, fn, { once = false } = {}) {
if (!(feature_id in REGISTERED_HOOKS)) REGISTERED_HOOKS[feature_id] = {};
if (name in REGISTERED_HOOKS[feature_id]) return;
if (TVA_CONFIG.debug) console.info(`TVA | Registering Hook`, { feature_id, name, fn, once });
const num = Hooks.on(name, fn, { once });
REGISTERED_HOOKS[feature_id][name] = num;
}
export function unregisterHook(feature_id, name) {
if (feature_id in REGISTERED_HOOKS && name in REGISTERED_HOOKS[feature_id]) {
if (TVA_CONFIG.debug)
console.info(`TVA | Un-Registering Hook`, {
feature_id,
name,
id: REGISTERED_HOOKS[feature_id][name],
});
Hooks.off(name, REGISTERED_HOOKS[feature_id][name]);
delete REGISTERED_HOOKS[feature_id][name];
}
}
export function registerAllHooks() {
// Hide effect icons
registerEffectIconHooks();
// Display overlays
registerOverlayHooks();
// Insert Art Select buttons and contextmenu listeners
registerArtSelectButtonHooks();
// Effect Mapping related listening for state changes and applying configurations
registerEffectMappingHooks();
// Display HUD buttons for Tokens and Tiles
registerHUDHooks();
// Default Wildcard image controls
registerWildcardHooks();
// User to Image mappings for Tile and Tokens
registerUserMappingHooks();
// Handle pop-ups and randomization on token/actor create
registerPopRandomizeHooks();
}