|
|
- export class BackgroundHandler{
- static setupElevation(){
- Hooks.on("canvasInit", () => {
- PrimaryCanvasGroup.BACKGROUND_ELEVATION = (canvas?.scene?.flags?.levels?.backgroundElevation ?? 0)
- });
-
- Hooks.on("canvasReady", ()=>{
- canvas.primary.background.elevation = PrimaryCanvasGroup.BACKGROUND_ELEVATION;
- Object.defineProperty(canvas.primary.background, "visible", {
- get: function () {
- if(this.texture == PIXI.Texture.EMPTY) return false;
- if(CONFIG.Levels?.UI?.rangeEnabled && !canvas.tokens.controlled.length){
- return (parseFloat(CONFIG.Levels.UI.range[0]) ?? Infinity) >= this.elevation
- }
- if(CONFIG.Levels.currentToken || canvas.tokens.controlled.length){
- return (CONFIG.Levels.currentToken ?? canvas.tokens.controlled[0]).losHeight >= this.elevation;
- }else{
- return true;
- }
- }
- })
- })
-
- Hooks.on("updateScene", (scene, updates)=>{
- if(scene.id === canvas.scene?.id && updates.flags?.levels?.backgroundElevation !== undefined){
- canvas.draw();
- }
- })
- }
- }
|