@@ -4,7 +4,7 @@ class Levels {
4
4
this . floorContainer = new PIXI . Container ( ) ;
5
5
this . floorContainer . spriteIndex = { } ;
6
6
this . occlusionIndex = { } ;
7
- this . lastReleasedToken = undefined
7
+ this . lastReleasedToken = undefined ;
8
8
}
9
9
10
10
/**********************************************
@@ -28,7 +28,7 @@ class Levels {
28
28
{ x : tileZZ . x + tile . width , y : tileZZ . y + tile . height } , //br
29
29
{ x : tileZZ . x , y : tileZZ . y + tile . height } , //bl
30
30
] ;
31
- return new PIXI . Polygon ( tileCorners )
31
+ return new PIXI . Polygon ( tileCorners ) ;
32
32
}
33
33
34
34
findRoomsTiles ( token , allTiles ) {
@@ -58,10 +58,10 @@ class Levels {
58
58
let range0 = parseInt ( range [ 0 ] ) ;
59
59
let range1 =
60
60
range [ 1 ] . toLowerCase ( ) == "infinity" ? 10000 : parseInt ( range [ 1 ] ) ;
61
- if ( range [ 1 ] . toLowerCase ( ) == "infinity" ) {
62
- tile . isLevel = false
63
- } else {
64
- tile . isLevel = true
61
+ if ( range [ 1 ] . toLowerCase ( ) == "infinity" ) {
62
+ tile . isLevel = false ;
63
+ } else {
64
+ tile . isLevel = true ;
65
65
}
66
66
tiles . push ( {
67
67
tile : tile ,
@@ -104,7 +104,7 @@ class Levels {
104
104
}
105
105
}
106
106
107
- refreshTokens ( overrideToken = undefined ) {
107
+ refreshTokens ( overrideToken = undefined ) {
108
108
let cToken = overrideToken || canvas . tokens . controlled [ 0 ] ;
109
109
if ( ! cToken ) return ;
110
110
let perfEnd , perfStart ;
@@ -128,34 +128,34 @@ class Levels {
128
128
tokensState
129
129
) ;
130
130
}
131
- return tokenPov
131
+ return tokenPov ;
132
132
}
133
133
134
134
computeTokens ( tokens , elevation , holes , cTokenElev , ctokenId ) {
135
- let tokenPov = [ ]
135
+ let tokenPov = [ ] ;
136
136
tokens . forEach ( ( t ) => {
137
137
if ( t . token . id != ctokenId && ! t . token . data . hidden ) {
138
138
if ( ! ( t . range [ 1 ] >= elevation && t . range [ 0 ] <= elevation ) ) {
139
139
let isInHole = this . isTokenInHole ( t , holes ) ;
140
140
if ( ! this . isInsideHoleRange ( isInHole , t , cTokenElev ) ) {
141
141
t . token . levelsHidden = true ;
142
142
t . token . icon . alpha = 0 ;
143
- tokenPov . push ( { token :t , visible :t . token . isVisible } )
143
+ tokenPov . push ( { token : t , visible : t . token . isVisible } ) ;
144
144
this . getTokenIconSprite ( t . token ) ;
145
145
} else {
146
146
t . token . visible = false ;
147
- tokenPov . push ( { token :t , visible :false } )
147
+ tokenPov . push ( { token : t , visible : false } ) ;
148
148
this . removeTempToken ( t . token ) ;
149
149
}
150
150
} else {
151
151
t . token . levelsHidden = false ;
152
152
t . token . icon . alpha = 1 ;
153
- tokenPov . push ( { token :t , visible :t . token . isVisible } )
153
+ tokenPov . push ( { token : t , visible : t . token . isVisible } ) ;
154
154
this . removeTempToken ( t . token ) ;
155
155
}
156
156
}
157
157
} ) ;
158
- return tokenPov
158
+ return tokenPov ;
159
159
}
160
160
161
161
isInsideHoleRange ( isInHole , t , cTokenElev ) {
@@ -198,7 +198,7 @@ class Levels {
198
198
let elevation = token . data . elevation ;
199
199
let tilesIsIn = this . findRoomsTiles ( token , allTiles ) ;
200
200
if ( ! tilesIsIn || tilesIsIn . length == 0 ) {
201
- return { token : token , range : [ 0 , 1000 ] } ; //return { token: token, range: [0, elevation] };
201
+ return { token : token , range : [ 0 , Infinity ] } ; //return { token: token, range: [0, elevation] };
202
202
}
203
203
let levelTile ;
204
204
tilesIsIn . forEach ( ( t ) => {
@@ -237,7 +237,7 @@ class Levels {
237
237
this . floorContainer . addChild ( sprite ) ;
238
238
}
239
239
240
- _onElevationChangeUpdate ( overrideElevation = undefined ) {
240
+ _onElevationChangeUpdate ( overrideElevation = undefined ) {
241
241
let perfEnd , perfStart ;
242
242
if ( _levels . DEBUG ) perfStart = performance . now ( ) ;
243
243
let cToken = overrideElevation || canvas . tokens . controlled [ 0 ] ;
@@ -457,13 +457,16 @@ class Levels {
457
457
458
458
getHoles ( ) {
459
459
let holes = [ ] ;
460
- let holeDrawings = canvas . drawings . placeables . filter (
461
- ( d ) => d . data . text && d . data . text . includes ( "levelsHole" )
462
- ) ;
463
- holeDrawings . forEach ( ( drawing ) => {
464
- let p = new PIXI . Polygon ( this . adjustPolygonPoints ( drawing ) ) ;
465
- let range = drawing . data . text . split ( "|" ) [ 1 ] . split ( "," ) ;
466
- holes . push ( { poly : p , range : [ parseInt ( range [ 0 ] ) , parseInt ( range [ 1 ] ) ] } ) ;
460
+ canvas . drawings . placeables . forEach ( ( drawing ) => {
461
+ let flag = drawing . document . getFlag ( _levelsModuleName , "heightRange" ) ;
462
+ let range = flag ? flag . split ( "," ) : undefined ;
463
+ if ( flag && range . length == 2 ) {
464
+ let p = new PIXI . Polygon ( this . adjustPolygonPoints ( drawing ) ) ;
465
+ holes . push ( {
466
+ poly : p ,
467
+ range : [ parseInt ( range [ 0 ] ) , parseInt ( range [ 1 ] ) ] ,
468
+ } ) ;
469
+ }
467
470
} ) ;
468
471
return holes ;
469
472
}
@@ -548,7 +551,7 @@ class Levels {
548
551
canvas . tokens . placeables . forEach ( ( t ) => {
549
552
if ( t . actor . testUserPermission ( game . user , 2 ) ) {
550
553
t . visible = true ;
551
- t . icon . alpha = 1
554
+ t . icon . alpha = 1 ;
552
555
}
553
556
} ) ;
554
557
}
0 commit comments