Files
foundryvtt-wh4-lang-fr-fr/modules/travelv2/travelv2-init.js

68 lines
2.7 KiB
JavaScript

import TravelDistanceV2 from './TravelDistanceV2.js';
/**
* Initialisation du module TravelV2
*/
export function initTravelV2() {
console.log("TravelV2: Initialisation du module de voyage");
// Hook pour charger les données au démarrage
Hooks.once('ready', async () => {
console.log("TravelV2: Chargement des données de voyage");
// Exposer la classe globalement pour accès depuis la console
game.wfrp4e = game.wfrp4e || {};
game.wfrp4e.travelv2 = TravelDistanceV2;
await TravelDistanceV2.loadTravelData();
console.log("TravelV2: Classe accessible via game.wfrp4e.travelv2");
// Enregistrer la commande dans le système WFRP4e si disponible
if (game.wfrp4e?.commands) {
console.log("TravelV2: Enregistrement de la commande /voyage");
game.wfrp4e.commands.add({
voyage: {
description: "Outil de calcul de distances de voyage (FR)",
args: ["from", "to"],
defaultArg: "from",
callback: (from, to) => {
// Vérifier que l'utilisateur est GM
if (!game.user.isGM) {
ui.notifications.warn("La commande /voyage est réservée au MJ.");
return;
}
console.log(`TravelV2: Commande /voyage exécutée`);
console.log(`TravelV2: from =`, from, `(type: ${typeof from})`);
console.log(`TravelV2: to =`, to, `(type: ${typeof to})`);
console.log(`TravelV2: from === null ?`, from === null);
console.log(`TravelV2: to === null ?`, to === null);
// Convertir null en undefined pour que la logique fonctionne
from = from || undefined;
to = to || undefined;
TravelDistanceV2.displayTravelDistance(from, to);
}
}
});
console.log("TravelV2: Commande /voyage enregistrée avec succès");
} else {
console.warn("TravelV2: game.wfrp4e.commands non disponible");
}
});
// Hook pour ajouter un gestionnaire de clics sur les liens de voyage
Hooks.on('renderChatMessage', (message, html, data) => {
// Ajouter un listener pour les clics sur les liens de voyage
html.find('a[data-action="clickVoyage"]').click((event) => {
event.preventDefault();
const target = event.currentTarget;
TravelDistanceV2.handleTravelClick(event, target);
});
});
console.log("TravelV2: Module de voyage initialisé");
}