Check if all required dependencies are present and show an error if this is not the case
This commit is contained in:
@@ -1,5 +1,12 @@
|
||||
{
|
||||
"drag-ruler": {
|
||||
"dependencies": {
|
||||
"ok": "OK",
|
||||
"socketlib": {
|
||||
"title": "Socketlib Modul fehlt",
|
||||
"text": "Drag Ruler benötigt das socketlib-Modul, um korrekt zu funktionieren. Bitte aktiviere das socketlib-Modul in dieser Welt."
|
||||
}
|
||||
},
|
||||
"genericSpeedProvider": {
|
||||
"settings": {
|
||||
"dashMultiplier": {
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
{
|
||||
"drag-ruler": {
|
||||
"dependencies": {
|
||||
"ok": "OK",
|
||||
"socketlib": {
|
||||
"title": "Socketlib Module Missing",
|
||||
"text": "Drag Ruler requires the socketlib module to work properly. Please activate the socketlib module in this world."
|
||||
}
|
||||
},
|
||||
"genericSpeedProvider": {
|
||||
"settings": {
|
||||
"dashMultiplier": {
|
||||
|
||||
@@ -34,3 +34,20 @@ export function measureDistances(segments, token, shape, gridSpaces=true, option
|
||||
}
|
||||
}
|
||||
|
||||
export function checkDependencies() {
|
||||
if (!game.modules.get("socketlib")?.active) {
|
||||
console.error("Drag Ruler | The `socketlib` module isn't enabled, but it's required for Drag Ruler to operate properly.");
|
||||
if (game.user.isGM) {
|
||||
new Dialog({
|
||||
title: game.i18n.localize("drag-ruler.dependencies.socketlib.title"),
|
||||
content: `<h2>${game.i18n.localize("drag-ruler.dependencies.socketlib.title")}</h2><p>${game.i18n.localize("drag-ruler.dependencies.socketlib.text")}</p>`,
|
||||
buttons: {
|
||||
ok: {
|
||||
icon: '<i class="fas fa-check"></i>',
|
||||
label: game.i18n.localize("drag-ruler.dependencies.ok")
|
||||
}
|
||||
},
|
||||
}).render(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,7 +1,7 @@
|
||||
"use strict"
|
||||
|
||||
import {currentSpeedProvider, getMovedDistanceFromToken, getRangesFromSpeedProvider, getUnreachableColorFromSpeedProvider, initApi, registerModule, registerSystem} from "./api.js"
|
||||
import {getHexSizeSupportTokenGridCenter} from "./compatibility.js"
|
||||
import {checkDependencies, getHexSizeSupportTokenGridCenter} from "./compatibility.js";
|
||||
import {moveTokens, onMouseMove} from "./foundry_imports.js"
|
||||
import {performMigrations} from "./migration.js"
|
||||
import {DragRulerRuler} from "./ruler.js";
|
||||
@@ -27,6 +27,7 @@ Hooks.once("init", () => {
|
||||
|
||||
Hooks.once("ready", () => {
|
||||
performMigrations()
|
||||
checkDependencies();
|
||||
Hooks.callAll("dragRuler.ready", SpeedProvider)
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user