foundryvtt-reve-de-dragon/module/tmr/carte-tmr.js

55 lines
1.7 KiB
JavaScript

import { SYSTEM_RDD } from "../constants.js";
import { Draconique } from "./draconique.js";
import { PixiTMR } from "./pixi-tmr.js";
const IMAGE_CARTE_TMR = 'image-carte-tmr';
const TMR_V1 = "systems/foundryvtt-reve-de-dragon/styles/img/ui/tmr-v1.webp";
const TMR_V2 = "systems/foundryvtt-reve-de-dragon/styles/img/ui/tmr-v2.webp";
const TMR_V3_COULEUR = "systems/foundryvtt-reve-de-dragon/styles/img/ui/tmr-v3-couleur.webp";
export class CarteTmr extends Draconique {
static initSettings() {
game.settings.register(SYSTEM_RDD, IMAGE_CARTE_TMR,
{
name: 'Carte des TMR',
hint: "Choix de l'image de la carte des TMR",
scope: "client",
requiresReload: true,
config: true,
choices: {
[TMR_V3_COULEUR]: "TMR Scriptarium v3 couleur",
[TMR_V2]: "TMR Multisim v2",
[TMR_V1]: "TMR NEF v1",
},
default: TMR_V3_COULEUR,
type: String
})
}
type() { return '' }
match(item) { return false; }
manualMessage() { return false }
async onActorCreateOwned(actor, item) { }
code() { return 'tmr' }
img() { return game.settings.get(SYSTEM_RDD, IMAGE_CARTE_TMR) }
createSprite(pixiTMR) {
const img = PixiTMR.getImgFromCode(this.code())
const sprite = new PIXI.Sprite(PIXI.utils.TextureCache[img]);
// Setup the position of the TMR
sprite.x = pixiTMR.pixiApp.screen.x;
sprite.y = pixiTMR.pixiApp.screen.y;
sprite.width = pixiTMR.pixiApp.screen.width;
sprite.height = pixiTMR.pixiApp.screen.height;
// Rotate around the center
sprite.anchor.set(0);
sprite.buttonMode = true;
sprite.tmrObject = pixiTMR;
return sprite;
}
}