diff --git a/Assets/Objects/Tiles.glb b/Assets/Objects/Tiles.glb index cd9ddc3..5fb3259 100644 Binary files a/Assets/Objects/Tiles.glb and b/Assets/Objects/Tiles.glb differ diff --git a/Scripts/Helpers/Placeholder.cs b/Scripts/Helpers/Placeholder.cs index db99f50..203ff84 100644 --- a/Scripts/Helpers/Placeholder.cs +++ b/Scripts/Helpers/Placeholder.cs @@ -6,7 +6,7 @@ public class Placeholder public Transform3D transform; public Placeholder(string name, Transform3D transform){ - this.name = name.Split("_")[0]; + this.name = name.Split("_")[0].ToLower(); this.transform = transform; } } \ No newline at end of file diff --git a/Scripts/Tile.cs b/Scripts/Tile.cs index 290521e..73bb48e 100644 --- a/Scripts/Tile.cs +++ b/Scripts/Tile.cs @@ -77,12 +77,11 @@ public partial class Tile public void SpawnContent(Dictionary contentMeshes, Transform3D transform, List placeholders) { - foreach (Placeholder placeholder in placeholders) { - if (containsLight && placeholder.name.ToLower() == "light") SpawnLight(contentMeshes["light"], placeholder, transform); - else if (containsResource && placeholder.name.ToLower() == "resource") SpawnResource(contentMeshes["resource"], placeholder, transform); - else if (containsDecoration) SpawnDecorations(contentMeshes, placeholder, transform); + if (containsLight && placeholder.name == "light") SpawnLight(contentMeshes["light"], placeholder, transform); + else if (containsResource && placeholder.name == "resource") SpawnResource(contentMeshes["resource"], placeholder, transform); + else if (containsDecoration && placeholder.name != "light" && placeholder.name != "resource") SpawnDecorations(contentMeshes, placeholder, transform); } } @@ -125,7 +124,7 @@ public partial class Tile { foreach (string key in contentMeshes.Keys) { - if (key.ToLower() != placeholder.name.ToLower()) continue; + if (key.ToLower() != placeholder.name) continue; MeshInstance3D decoration = new MeshInstance3D { Mesh = contentMeshes[key].Mesh, diff --git a/Scripts/World.cs b/Scripts/World.cs index 123c941..1b486c1 100644 --- a/Scripts/World.cs +++ b/Scripts/World.cs @@ -141,10 +141,12 @@ public partial class World : Node3D int posX, posY; - while(currentLight < layerSize * layerSize / 4) + while(currentLight < layerSize * 3) { posX = rand.Next(layerSize); posY = rand.Next(layerSize); + //Skip already placed lights and skip junction and gate as they do not contain lights + if(layer.tiles[posX, posY].collapsedMesh == "junction" || layer.tiles[posX, posY].collapsedMesh == "gate") continue; if(layer.tiles[posX, posY].containsLight) continue; layer.tiles[posX, posY].containsLight = true; currentLight++;