@@ -16,6 +16,7 @@ class Levels {
16
16
static get ( ) {
17
17
Levels . _instance = new Levels ( ) ;
18
18
canvas . background . addChild ( Levels . _instance . floorContainer ) ;
19
+ //canvas.lighting.coloration.addChild(Levels._instance.occlusionContainer);
19
20
return Levels . _instance ;
20
21
}
21
22
@@ -167,6 +168,28 @@ class Levels {
167
168
this . floorContainer . addChild ( sprite ) ;
168
169
}
169
170
171
+ occludeLights ( tileIndex ) {
172
+ let tile = tileIndex . tile ;
173
+ let oldSprite = this . occlusionContainer . children . find ( ( c ) => c . name == tile . id ) ;
174
+ let tileImg = tile . children [ 0 ] ;
175
+ if ( ! tileImg || oldSprite || ! tileImg . texture . baseTexture ) return ;
176
+ let sprite = new PIXI . Sprite . from ( tileImg . texture ) ;
177
+ sprite . isSprite = true ;
178
+ sprite . width = tile . data . width ;
179
+ sprite . height = tile . data . height ;
180
+ sprite . position = tile . position ;
181
+ sprite . position . x += tileImg . x ;
182
+ sprite . position . y += tileImg . y ;
183
+ sprite . anchor = tileImg . anchor ;
184
+ sprite . angle = tileImg . angle ;
185
+ sprite . alpha = 1 ;
186
+ sprite . name = tile . id ;
187
+ sprite . tint = 0x000000
188
+ this . occlusionContainer . spriteIndex [ tile . id ] = sprite ;
189
+ this . occlusionContainer . addChild ( sprite ) ;
190
+
191
+ }
192
+
170
193
removeTempTile ( tileIndex ) {
171
194
let tile = tileIndex . tile ;
172
195
let sprite = this . floorContainer . children . find ( ( c ) => c . name == tile . id ) ;
0 commit comments