From eb21647fc1280f177a159b6e169c296417368079 Mon Sep 17 00:00:00 2001 From: JaThePlayer Date: Fri, 18 Apr 2025 14:38:24 +0200 Subject: [PATCH] Reduce the amount of LightOcclude components used by FancySolidTiles --- FancyTileEntities/Entities/SolidTiles.cs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) 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) {