35 lines
1.3 KiB
JavaScript
35 lines
1.3 KiB
JavaScript
/**
|
|
* sotc-clash-arrow | main.js
|
|
*
|
|
* Point d'entrée du module.
|
|
* Importe et initialise tous les sous-systèmes.
|
|
*/
|
|
|
|
import { registerHooks, registerSettings } from "./Hooks.js";
|
|
import { ArrowStore } from "./ArrowStore.js";
|
|
import { ClashArrowLayer } from "./ClashArrowLayer.js";
|
|
|
|
// ── Exposition globale ────────────────────────────────────────────────────────
|
|
globalThis.sotcClashArrow = {
|
|
ArrowStore,
|
|
ClashArrowLayer, // singleton objet, pas une classe
|
|
};
|
|
|
|
// ── Démarrage ─────────────────────────────────────────────────────────────────
|
|
Hooks.once("init", () => {
|
|
console.log("sotc-clash-arrow | Initialisation du module.");
|
|
registerSettings();
|
|
registerHooks();
|
|
});
|
|
|
|
Hooks.once("ready", () => {
|
|
// Vérification des dépendances
|
|
if (!game.modules.get("stars-initiative-overlay")?.active) {
|
|
ui.notifications.error(
|
|
"sotc-clash-arrow : Le module 'Stars Initiative Overlay' (SIO) est requis et doit être activé.",
|
|
{ permanent: true }
|
|
);
|
|
}
|
|
|
|
console.log("sotc-clash-arrow | Module prêt.");
|
|
});
|