diff --git a/FancyTileEntities/Entities/SolidTiles.cs b/FancyTileEntities/Entities/SolidTiles.cs index 1d1b91c..09686aa 100644 --- a/FancyTileEntities/Entities/SolidTiles.cs +++ b/FancyTileEntities/Entities/SolidTiles.cs @@ -35,13 +35,11 @@ public FancySolidTiles(EntityData data, Vector2 offset, EntityID id) Remove(AnimatedTiles); VirtualMap tileMap = f_SolidTiles_tileTypes[this]; - for (int x = 0; x < tileMap.Columns; x++) { - for (int y = 0; y < tileMap.Rows; y++) { - if (tileMap.AnyInSegmentAtTile(x, y) && tileMap[x, y] != '0') { - Add(new LightOcclude(new Rectangle(x * 8, y * 8, 8, 8))); - } - } - } + + // Generate colliders for this tileMap so we can add more efficient light occludes. + // The colliders themselves won't be added to the entity, as a Grid collider is more efficient. + var colliders = GenerateBetterColliderGrid(tileMap, 8, 8); + AddLightOcclude(this, colliders); } public override void Added(Scene scene) {