From cb12b464545e84d798bd9d1eb4634abbdebb2787 Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 26 Aug 2023 00:51:50 -0400 Subject: [PATCH] Fix distant colour of Bramble nodes. Fixes #372 --- NewHorizons/Builder/Props/BrambleNodeBuilder.cs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/NewHorizons/Builder/Props/BrambleNodeBuilder.cs b/NewHorizons/Builder/Props/BrambleNodeBuilder.cs index 990b7c18..c02837c8 100644 --- a/NewHorizons/Builder/Props/BrambleNodeBuilder.cs +++ b/NewHorizons/Builder/Props/BrambleNodeBuilder.cs @@ -260,9 +260,17 @@ namespace NewHorizons.Builder.Props // Default size is 70 var fog = brambleNode.FindChild("Effects/InnerWarpFogSphere"); fog.transform.localScale = Vector3.one * config.scale * 70f; - var fogMaterial = fog.GetComponent().material; - fogMaterial.SetFloat("_Radius", fogMaterial.GetFloat("_Radius") * config.scale); - fogMaterial.SetFloat("_Density", fogMaterial.GetFloat("_Density") / config.scale); + + // Copy shared material to not be shared + var fogRenderer = fog.GetComponent(); + fogRenderer.material = new Material(fogRenderer.sharedMaterial); + fogRenderer.material.SetFloat("_Radius", fogRenderer.material.GetFloat("_Radius") * config.scale); + fogRenderer.material.SetFloat("_Density", fogRenderer.material.GetFloat("_Density") / config.scale); + // Fixes bramble nodes being a weird colour until you approach the first time #372 + if (config.fogTint != null) + { + fog.GetComponent().SetColor(config.fogTint.ToColor()); + } } // Set colors @@ -393,7 +401,8 @@ namespace NewHorizons.Builder.Props } } - StreamingHandler.SetUpStreaming(brambleNode, sector); + // If the outer fog warp volume is null we're exposed to the solar system so treat it as a keepLoaded type prop + StreamingHandler.SetUpStreaming(brambleNode, outerFogWarpVolume == null ? null : sector); // Done! brambleNode.SetActive(true);