import { SettingStatusEnum, status } from "../utils/SettingStatus.mjs"; import { __ID__ } from "../consts.mjs"; import { Logger } from "../utils/Logger.mjs"; import { registerDevSetting } from "../utils/SubMenuSettings.mjs"; const key = `autoUnpauseOnLoad`; export function autoUnpauseOnLoad() { status[key] = SettingStatusEnum.Unknown; const prevented = Hooks.call(`${__ID__}.preventSetting`, key); if (!prevented) { Logger.log(`Preventing setting "${key}" from being registered`); status[key] = SettingStatusEnum.Blocked; return; }; // #region Registration Logger.log(`Registering setting: ${key}`); registerDevSetting(__ID__, key, { name: `OFT.setting.${key}.name`, hint: `OFT.setting.${key}.hint`, scope: `client`, type: Boolean, default: false, config: game.user.isGM, requiresReload: false, }); // #endregion Registration // #region Implementation Hooks.once(`ready`, () => { const autoUnpause = game.settings.get(__ID__, key); if (autoUnpause && game.paused) { Logger.debug(`setting:${key} | Unpausing the game`); game.togglePause(false, { broadcast: true }); }; }); // #endregion Implementation status[key] = SettingStatusEnum.Registered; };