From eccaec859f6ffa5eba3e5a5c06fe2b8bbf19b0df Mon Sep 17 00:00:00 2001 From: = <=> Date: Tue, 28 Apr 2026 10:48:32 +0200 Subject: [PATCH] Light and decorations adjusted. Added all resource and light spawn points --- Assets/Objects/Tiles.glb | Bin 972560 -> 974572 bytes Scripts/Helpers/Placeholder.cs | 2 +- Scripts/Tile.cs | 9 ++++----- Scripts/World.cs | 4 +++- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Assets/Objects/Tiles.glb b/Assets/Objects/Tiles.glb index cd9ddc31589f5654206837765790383985e63ac3..5fb3259363b8ee0ca3ab4a0530aa0ba3ed1de7c3 100644 GIT binary patch delta 1947 zcma)-&1;-h6vi`?%w!UEDixb{BQj0R<~E#<`*Civ5fq_cuCgmJ#AKSJq!URZDkWs$ z!ll-`Rq!tmrJyT8+=(Fi57dQjgbHqSC-}V6Ho`j-aB*Pf<$cdRzjL1F+>btAe)!FD zcWZa$wdTac#KQ;Oi9c`M>mD783(g#~WA8XQHYemnokSoB8O@WDd# zDVP!^TRn1jdmGz3yPNy{syuQGo;&@6?cNdr>=90Xu(`HhA@$t72UpAA?K4;7NEs+N zF)JsEqA8*11TqOxBwI>8aTf2u?=>)~=jgpy;)<$F&7Qkf{}>4^CU9gkq8Ks;G5UF( zK%HN8Wuft1`Koia5z42Hi_f7OgzO|Jf+Lw(DnB#^sz!k0%@|*R z!xZx$0m2hg0A~=PRzIB5o1^U+mkkF5bcgbjUQn*oP)k@R%#I0&H=ExM5p(&Wd8tC= z6cR=oypJhCU!^%Y-(qpB_ZKE#ZnQW!j^*~$ukBZM_YV4- zoX7`di-fshnqzt}oC-vSDdm7!CBsn99goWh`6r)~LLJPRJw<4h$jCHUr4U%aKh}T5 zbAehSrHlcFSnq_e6FJeVo#=IAZ-3C=FK=|(McXUYc(3KLaNf{Y(YDW^Pw%eVt`YVVWcm zTFVh!87ivh!u~-$7*GgG337$%vZheUb&L7`q^x)tJB_ijiE&6cEoptISRa~T+z)4d zY-%oRv(@71UgxnJUC_x4DPcnzbaDzw@^~o++zmQZ(j(iAwgv{RCj>{xBv`POva5UO z5l1~`ox-#8|9K8O<;f*+`1p#r|I6%^mBx$jFRXpAu+~5{5tE21L<`YIOd~po8N@8& QDa6x=XTDxo>;C@EzZRnPS^xk5 delta 321 zcmYk!y-LGi6b9fVO@Gofu@=37g4?lt=gZHRSOjtK3c83Ef6_Jzr4~D=lui!frXI&4 zUVyli;w0iKI0%9l;Nl>73m%*tp5c9YdA}d)7x#5H?Kaj7P1DLBt~R%I>5h~D1P^=& zAqM0i0X;w;Fa(T13XllW1L-$MO{n$`TJ1q~X=6xZy+iNDb1B)|@3s!xJuW4gW=hN1 zC)&>0dNAqdR`iU5h^F~Zx+x?&l3{gdwb-X~d%7TM=m!`HC8QLwuVffDM=-4Zd&GcV zO2;(L*mUPq<`+ecw-KrkF^qlB3t}&#H%A$$$Z=2phClA+m1WcV%nn_bUkxcKnN26R kmEFdvnVy-c&J31eCd;xM%d-NrSdrPR#GD5+b-#{&0sC-UVgLXD 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++;