@@ -76,9 +76,9 @@ public void update(float deltaTime, float playerX, float playerY, OrthographicCa
7676 *
7777 * Rendering order (bottom to top):
7878 * 1. Ground/terrain (rendered in batch)
79- * 2. Water puddles (rendered here first )
80- * 3. Rain particles (rendered here second )
81- * 4. Player and objects (rendered in batch )
79+ * 2. Water puddles (rendered via renderPuddles before player )
80+ * 3. Player and objects (rendered in batch )
81+ * 4. Rain particles (rendered via render after player )
8282 * 5. UI elements (rendered after this method)
8383 *
8484 * This ensures puddles appear above ground but below the player,
@@ -91,13 +91,26 @@ public void render(OrthographicCamera camera) {
9191 return ;
9292 }
9393
94- // Render puddles first (above ground, below rain particles and player)
95- puddleManager .render (camera );
96-
97- // Render rain particles on top of puddles
94+ // Render rain particles on top of player
9895 renderer .render (camera );
9996 }
10097
98+ /**
99+ * Renders only the water puddles to the screen.
100+ * This should be called during the batch rendering phase, after ground
101+ * but before player/trees to ensure puddles appear in the background.
102+ *
103+ * @param camera The camera used for projection
104+ */
105+ public void renderPuddles (OrthographicCamera camera ) {
106+ if (!enabled ) {
107+ return ;
108+ }
109+
110+ // Render puddles (above ground, below player and trees)
111+ puddleManager .render (camera );
112+ }
113+
101114 /**
102115 * Cleans up resources used by the rain system.
103116 * Should be called when the game is shutting down.
@@ -149,7 +162,7 @@ public void syncRainZones(List<RainZone> zones) {
149162
150163 /**
151164 * Sets tree positions for puddle avoidance.
152- * Puddles will not spawn within MIN_TREE_DISTANCE (400px ) of any tree.
165+ * Puddles will not spawn within MIN_TREE_DISTANCE (120px ) of any tree.
153166 * This should be called before update() each frame to ensure puddles avoid trees.
154167 *
155168 * @param trees List of tree positions to avoid
0 commit comments